Jump to content
blackosx

Create font files for Bootloader GUI's

124 posts in this topic

Recommended Posts

Sorry to bring up again this thread, but is it possible to integrate the following german letters (so called "UMLAUTE"):

 

ä ; ö ; ü ; Ä ; Ö ; Ü ; ß

 

would be great, so we don't get missing letters in the german help text of CLOVER  ;-)

Don't know if i could do this myself by just placing them at this point within the script:

# Apply any user leading to textHeight
    textHeight=$(( $textHeight + $leading )) # This adds the leading above the final chars for each row
   
    chars=('.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' '!' '\"' '#' '$' '%' '&' '’' '(' ')' '*' '+' ',' '-' '.' '/'\
           '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' ':' ';' '<' '=' '>' '?'\
           '@' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O'\
           'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' '[' '\\\' ']' '^' '_'\
           '’' 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o'\
           'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' '{' '|' '}' '~' ' '\
           )
           
    if [ $gIncludeAnsi -eq 1 ]; then
        chars+=('€' ' ' '‚' 'ƒ' '„' '…' '†' '‡' 'ˆ' '‰' 'Š' '‹' 'Œ' ' ' 'Ž' ' '\
           ' ' '‘' '’' '“' '”' '•' '–' '—' '˜' '™' 'š' '›' 'œ' ' ' 'ž' 'Ÿ'\
           ' ' '¡' '¢' '£' '¤' '¥' '¦' '§' '¨' '©' 'ª' '«' '¬' ' ' '®' '¯'\
           '°' '±' '²' '³' '´' 'µ' '¶' '·' '¸' '¹' 'º' '»' '¼' '½' '¾' '¿'\
           )
    else
        chars+=(' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           )
    fi
    
    if [ $gIncludeCyrillic -eq 1 ]; then
        chars+=('А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П'\
           'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ы' 'Ь' 'Э' 'Ю' 'Я'\
           'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п'\
           'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ы' 'ь' 'э' 'ю' 'я'\
           )
    else
        chars+=(' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           )
    fi
    
    printf "Scanning font character metrics\n"
    printf "===============================\n"

or if they have to be in a special place following some kind of ascii-table or something like this.

 

For my poor understanding, after editing it has to look something similar like this:

    # Set all characters to be used (Includes ANSI and cyrillic characters).
    completeSetOfChars="!\"#$&’()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\]^_’abcdefghijklmnopqrstuvwxyz{|}~ € ‚ƒ„…†‡ˆ‰Š‹Œ Ž  ‘’“”•–—˜™š›œ žŸ ¡¢£¤¥¦§¨©ª«¬ ®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"
    # Read the bounds font metric of the entire string to get height
    metricsOfString=$(GetMetrics "$completeSetOfChars")
    getValues=$(GetTextHeight "$metricsOfString")
    textHeight="${getValues%:*}"
    textBaseline="${getValues#*:}"
    
    # Apply any user leading to textHeight
    textHeight=$(( $textHeight + $leading )) # This adds the leading above the final chars for each row
   
    chars=('.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' '!' '\"' '#' '$' '%' '&' '’' '(' ')' '*' '+' ',' '-' '.' '/'\
           '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' ':' ';' '<' '=' '>' '?'\
           '@' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O'\
           'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z' '[' '\\\' ']' '^' '_'\
           '’' 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o'\
           'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' '{' '|' '}' '~' ' '\
           )
           
    if [ $gIncludeAnsi -eq 1 ]; then
        chars+=('€' ' ' '‚' 'ƒ' '„' '…' '†' '‡' 'ˆ' '‰' 'Š' '‹' 'Œ' ' ' 'Ž' ' '\
           ' ' '‘' '’' '“' '”' '•' '–' '—' '˜' '™' 'š' '›' 'œ' ' ' 'ž' 'Ÿ'\
           ' ' '¡' '¢' '£' '¤' '¥' '¦' '§' '¨' '©' 'ª' '«' '¬' ' ' '®' '¯'\
           '°' '±' '²' '³' '´' 'µ' '¶' '·' '¸' '¹' 'º' '»' '¼' '½' '¾' '¿'\
           'À' 'Á' 'Â' 'Ã' 'Ä' 'Å' 'Æ' 'Ç' 'È' 'É' 'Ê' 'Ë' 'Ì' 'Í' 'Î' 'Ï'\
           'Ð' 'Ñ' 'Ò' 'Ó' 'Ô' 'Õ' 'Ö' '×' 'Ø' 'Ù' 'Ú' 'Û' 'Ü' 'Ý' 'Þ' 'ß'\
           'à' 'á' 'â' 'ã' 'ä' 'å' 'æ' 'ç' 'è' 'é' 'ê' 'ë' 'ì' 'í' 'î' 'ï'\
           'ð' 'ñ' 'ò' 'ó' 'ô' 'õ' 'ö' '÷' 'ø' 'ù' 'ú' 'û' 'ü' 'ý' 'þ' 'ÿ'\
           )
    else
        chars+=(' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           )
    fi
    
    if [ $gIncludeCyrillic -eq 1 ]; then
        chars+=('А' 'Б' 'В' 'Г' 'Д' 'Е' 'Ж' 'З' 'И' 'Й' 'К' 'Л' 'М' 'Н' 'О' 'П'\
           'Р' 'С' 'Т' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Ш' 'Щ' 'Ъ' 'Ы' 'Ь' 'Э' 'Ю' 'Я'\
           'а' 'б' 'в' 'г' 'д' 'е' 'ж' 'з' 'и' 'й' 'к' 'л' 'м' 'н' 'о' 'п'\
           'р' 'с' 'т' 'у' 'ф' 'х' 'ц' 'ч' 'ш' 'щ' 'ъ' 'ы' 'ь' 'э' 'ю' 'я'\
           )
    else
        chars+=(' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           )
    fi
    
    printf "Scanning font character metrics\n"
    printf "===============================\n"

So it will include all ascii and ansi letters. Keep me corrected if i am wrong (i am NO coder).

 

Any help appreciated...

Regards,

 

Mork vom Ork

 

 

EDIT #1: just tested. To make it work, you have to also change this part:

    # Calculate canvas size
    canvasWidth=$(( $charWidth * 16 ))
    canvasHeight=$(( $textHeight * 16 ))
    echo "Canvas size will be ${canvasWidth}x${canvasHeight} using cell size ${charWidth}x${textHeight}"

into this:

    # Calculate canvas size
    canvasWidth=$(( $charWidth * 16 ))
    canvasHeight=$(( $textHeight * 20 )) // add the value of new lines you inserted above to the original 16
    echo "Canvas size will be ${canvasWidth}x${canvasHeight} using cell size ${charWidth}x${textHeight}"

and this part:

    # Build a 16x16 character grid.
    charCount=0
    for (( y=0; y<16; y++ ))

into this:

    # Build a 16x16 character grid.
    charCount=0
    for (( y=0; y<20; y++ ))

cause we added 4 more lines of characters. Image will be calculated correctly. Newly Calculated image will now look like this (i run the script with the option '-rc'):

 

post-598588-0-10432000-1461544792_thumb.png

 

EDIT #2: something must be wrong anyway, cause as you can see, the following characters are still not present in the image: ä, ö, ü and ß (maybe some more, which i just not recognized, cause i won't miss them)

 

EDIT #3: my above code correction seems to work, cause with font "/Library/Fonts/Tahoma.ttf" the resulting picture from the script is ok:

 

post-598588-0-96922800-1461555009_thumb.png

 

so it must be a corrupted CHICAGO font, which i copied from an old "Mac OS 9.2.2" systemfolder. Will try that again later... got to work now.

 

 

Oh, before i forget: a big thanx to the contributor "blackosx" for his wonderful script (createFont_v86), which makes fontcreation a lot easier. Hope, you don't mind, that i just extended your script for my personal use and find it may be usefull for others, too.

Share this post


Link to post
Share on other sites
Advertisement

As far as I see unicode characters 0xA0 - 0xFF will be drawn correctly. So no Clover change needed. But check this text, may be you know what to change here

      case german:
        AddMenuInfoLine(&HelpMenu, L"ESC - Zurueck aus Untermenue, Hauptmenue erneuern");
        AddMenuInfoLine(&HelpMenu, L"F1  - Diese Hilfe");
        AddMenuInfoLine(&HelpMenu, L"F2  - Sichere preboot.log (nur mit FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F3  - Show hidden entries");
        AddMenuInfoLine(&HelpMenu, L"F4  - Sichere OEM DSDT in EFI/CLOVER/ACPI/origin/ (nur mit FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F5  - Sichere gepatchtes DSDT in EFI/CLOVER/ACPI/origin/ (FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F6  - Sichere VideoBios in EFI/CLOVER/misc/ (FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F10 - Sichere Bildschirmfoto in EFI/CLOVER/misc/ (nur mit FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F12 - Volume auswerfen (DVD)");
        AddMenuInfoLine(&HelpMenu, L"Leertaste - Details über den gewählten Menue Eintrag");
        AddMenuInfoLine(&HelpMenu, L"Zahlen 1-9 - Kurzwahl zum Menue Eintrag");
        AddMenuInfoLine(&HelpMenu, L"A - Menue Informationen");
        AddMenuInfoLine(&HelpMenu, L"O - Menue Optionen");
        AddMenuInfoLine(&HelpMenu, L"R - Neustart");
        AddMenuInfoLine(&HelpMenu, L"U - Ausschalten");
        break;		

Share this post


Link to post
Share on other sites

 

As far as I see unicode characters 0xA0 - 0xFF will be drawn correctly. So no Clover change needed. But check this text, may be you know what to change here

      case german:
        AddMenuInfoLine(&HelpMenu, L"ESC - Zurück aus Untermenü, Hauptmenü erneuern");
        AddMenuInfoLine(&HelpMenu, L"F1  - Diese Hilfe");
        AddMenuInfoLine(&HelpMenu, L"F2  - Sichere preboot.log (nur mit FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F3  - Zeige versteckte Einträge");
        AddMenuInfoLine(&HelpMenu, L"F4  - Sichere OEM DSDT in EFI/CLOVER/ACPI/origin/ (nur mit FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F5  - Sichere gepatchtes DSDT in EFI/CLOVER/ACPI/origin/ (FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F6  - Sichere VideoBios in EFI/CLOVER/misc/ (FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F10 - Sichere Bildschirmfoto in EFI/CLOVER/misc/ (nur mit FAT32)");
        AddMenuInfoLine(&HelpMenu, L"F12 - Volume auswerfen (DVD)");
        AddMenuInfoLine(&HelpMenu, L"Leertaste - Details über den gewählten Menü Eintrag");
        AddMenuInfoLine(&HelpMenu, L"Zahlen 1-9 - Kurzwahl zum Menü Eintrag");
        AddMenuInfoLine(&HelpMenu, L"A - Menü Informationen");
        AddMenuInfoLine(&HelpMenu, L"O - Menü Optionen");
        AddMenuInfoLine(&HelpMenu, L"R - Neustart");
        AddMenuInfoLine(&HelpMenu, L"U - Ausschalten");
        break;		

checked and edited. But maybe not a good idea to change as soon as possible... cause all the known themes are using old font.png (w/o the new ANSI letters). So if u will change right now w/o updating all the font images, u will miss the signs not included in old fonts.png's. So first update the font.png's in the themes included in clover installer, than make the changes to the translated texts.

 

Keep this in mind...

Share this post


Link to post
Share on other sites

Hi blackosx,

is it possible four new chars will be included in the image?

    chars=('.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' '◎' '◉' '☐' '☑' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' '!' '\"' '#' '$' '%' '&' '’' '(' ')' '*' '+' ',' '-' '.' '/'\
           '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' ':' ';' '<' '=' '>' '?'\
           '@' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O'\

Share this post


Link to post
Share on other sites

 

 

 

Supremeui-Mac-Pro:createFont_v0.86 Supreme$ ./createFont.sh -t2 -s20 -l -2 -f/Users/Supreme/Downloads/createFont_v0.86/Cambria.ttf -b150,150,150 -c 20,20,20 -ra 

Scanning font character metrics

===============================

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

...............................................................................................printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.................................................................

Widest Char is at index 87 | W at 19 pixels

Canvas size will be 336x368 using cell size 21x23

Building ImageMagick code sequence

Running ImageMagick to create image

convert: no images defined `/Users/Supreme/Downloads/createFont_v0.86/type2_Cambria_20pt_Cell_21x23_l-2_ra.png' @ error/convert.c/ConvertImageCommand/3257.

Supremeui-Mac-Pro:createFont_v0.86 Supreme$ 

 

 

 

i can't convert everything fonts.

i followed your instruction in main page.

but i have no lucky.

 

thanks

Share this post


Link to post
Share on other sites

 

 

 

 

 

i can't convert everything fonts.

i followed your instruction in main page.

but i have no lucky.

 

thanks

This is a problem of wrong ImageMagick. If you install good one the error will disappear.

Share this post


Link to post
Share on other sites

This is a problem of wrong ImageMagick. If you install good one the error will disappear.

 

i tried to install ImageMagicK throughout MacPort and Homebrew.

 

very strange. my system already recognized installed ImageMagicK. still not success. 

 

 

 

Supreme-MacBook-Air:createFont_v0.86 Supreme$ sudo port install ImageMagick

Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.

Warning: Install them by running `xcode-select --install'.

--->  Computing dependencies for ImageMagick

--->  Fetching archive for ImageMagick

--->  Attempting to fetch ImageMagick-6.9.5-8_0+x11.darwin_15.x86_64.tbz2 from https://packages.macports.org/ImageMagick

--->  Attempting to fetch ImageMagick-6.9.5-8_0+x11.darwin_15.x86_64.tbz2 from http://sea.us.packages.macports.org/macports/packages/ImageMagick

--->  Attempting to fetch ImageMagick-6.9.5-8_0+x11.darwin_15.x86_64.tbz2 from http://nou.nc.packages.macports.org/pub/macports/packages.macports.org/ImageMagick

--->  Fetching distfiles for ImageMagick

--->  Verifying checksums for ImageMagick

--->  Extracting ImageMagick

--->  Configuring ImageMagick

--->  Building ImageMagick

--->  Staging ImageMagick into destroot

--->  Installing ImageMagick @6.9.5-8_0+x11

--->  Activating ImageMagick @6.9.5-8_0+x11

--->  Cleaning ImageMagick

--->  Updating database of binaries

--->  Scanning binaries for linking errors

--->  No broken files found.

Supreme-MacBook-Air:createFont_v0.86 Supreme$ ./createFont.sh -t2 -f/Users/Supreme/Desktop/malgun.ttf -s12

Scanning font character metrics

===============================

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

...............................................................................................printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

..printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

............printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

..printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.............printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

...printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

.............printf: : expected numeric value

printf: : expected numeric value

printf: : expected numeric value

...................................................................................

Widest Char is at index 137 | ‰ at 15 pixels

Canvas size will be 272x288 using cell size 17x18

Building ImageMagick code sequence

Running ImageMagick to create image

convert: no images defined `/Users/Supreme/Downloads/createFont_v0.86/type2_malgun_12pt_Cell_17x18_l0.png' @ error/convert.c/ConvertImageCommand/3257.

 

 

 

thanks in advance

Share this post


Link to post
Share on other sites

Hi Sherlocks

 

What result do you get with the following command?

convert -debug annotate xc: -font /Users/Supreme/Desktop/malgun.ttf -pointsize 12 -annotate 0 X null:

 

Hi blackosx,

is it possible four new chars will be included in the image?

    chars=('.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' '◎' '◉' '☐' '☑' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '\
           ' ' '!' '\"' '#' '$' '%' '&' '’' '(' ')' '*' '+' ',' '-' '.' '/'\
           '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' ':' ';' '<' '=' '>' '?'\
           '@' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O'\

Hi Slice

 

Are you still needing this or have you done it in Clover?


Sorry to bring up again this thread, but is it possible to integrate the following german letters (so called "UMLAUTE"):

 

ä ; ö ; ü ; Ä ; Ö ; Ü ; ß

 

Hi Mork vom Ork

 

Good job adjusting the script to suit your needs.

Does this need implementing for all font files?

Share this post


Link to post
Share on other sites
Hi Mork vom Ork

 

Good job adjusting the script to suit your needs.

Does this need implementing for all font files?

Dear BlackOSX,

 

no, it is no longer needed. was just a try, when i was paying around with my theme. would be too much to implement in every right now available theme. if one needs it, he/she/they could check my post on what to do to get it implemented  ;-)

But thx 4 asking...

Share this post


Link to post
Share on other sites

 

Hi Slice

 

Are you still needing this or have you done it in Clover?

 

Hi blackosx,

glad to see you.

 

I can live without these characters as I made embedded graphics for this.

They could be usefull in TextOnly mode if someone want it.

Share this post


Link to post
Share on other sites

I've uploaded v0.87 of the script to the first post which adds the extra radio button and checkbox glyphs in the font matrix and also added a fix which I hope will resolve the issue Sherlocks is having.

 

Note: The radio button and checkbox glyphs need to be in the font used otherwise they won't show.

Share this post


Link to post
Share on other sites

Hey blackosx, did you forget to apply your "xc" patch to "-t1" (BuildType1() / Chameleon), or this type already deprecated?

./createFont.sh -t1 -s14 -fFont.otf -b 255,255,255 -c 0,0,0 -r c -r a

Running ImageMagick to create image
convert: no images defined `.../createFont_v0.87/type1_Font_14pt.png' @ error/convert.c/ConvertImageCommand/3253.
charWidth=5
Running ImageMagick to splice type 1 image
convert: unable to open image '.../createFont_v0.87/type1_Font_14pt.png': No such file or directory @ error/blob.c/OpenBlob/2695.
convert: unable to open file `.../createFont_v0.87/type1_Font_14pt.png' @ error/png.c/ReadPNGImage/3983.
convert: no images defined `.../createFont_v0.87/type1_Font_14pt.png' @ error/convert.c/ConvertImageCommand/3253.

Also, label:\"${spaces}\ no longer needed in my case.

Share this post


Link to post
Share on other sites

Hey cecekpawon.

AFAIK, type 1 is alive and well and not deprecated. I just forgot to add 'xc' to it  :P

And thanks for the note about 'label:' no longer being required. I never knew why it was needed in the first place anyhow lol.

I'll run some tests and post a revised version when I get a chance.

 

EDIT: I've updated the script to v0.88 to include the xc fix for type 1 fonts.

Edited by blackosx

Share this post


Link to post
Share on other sites

Hi guys! 

Thanks for all your work, the script and the proportional option are awesome!!!

Btw I've noticed that the proportional option does work well on every part of clover, but not under options, where it seems to have no effect...

Here a screenshot:

menu is ok, about is ok, option is messed...

w847jk.jpg

Share this post


Link to post
Share on other sites

Sorry, but I don't understand, well I understood that it's meant to be so, but not why...

Isn't there a way to have proportional working for options too? :(

No options to do this. If you want then you can compile own Clover version. Just search "proportional" through sources and comment out a line that switch off proportional for options menu. I can tell you that proportional font is very bad for input values.

Share this post


Link to post
Share on other sites

Ok, found the source and did all the stuff from terminal do download it, but the project is huge, which is the file I should look for?

 

Sorry but I'm not the best in doing such stuff

Share this post


Link to post
Share on other sites

Hi, I want to add Chinese support to Clover F1 interface. The problem I have met is that I need a FontChinese.png like FontKorean.png.

I need some help on how to edit createFont.sh to create png which includes Chinese characters. Could someone give me suggestions?

 

This is a sample of FontKorean.png, I want to know how it was been generated.

FontKorean.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By glasgood
      CLOVER DUAL BOOT MOJAVE & WINDOWS 10 GUIDE 
       

       
       
      INCLUDES  MBR / LEGACY BIOS  TO  GPT / EFI CONVERSION
      USING MBR2GPT TOOL
       
       
      PREREQUISITE: Two physical discs ( SSD’s or HDD’s )
       
       
       
       
       
      STEP 1 - Clover dual boot configuration 
       
      Open config.plist with Clover Configurator
       
      Boot
       Legacy = PBR Timeout = True ( will remove the Timeout countdown, from Clover boot menu)  

       
      GUI 
      Scan / Custom
       Entries = True  Tool = True  Legacy = False ( removes extra Windows 10 entries )  
      Hide Volume
      - Preboot ( macOS Preboot )
      - Recovery ( macOS Recovery )
       

       
      So at boot you will have two options: boot macOS Mojave or Windows 10 
       
       
       
       
       
       
       
      ————————————————————
       
       
      STEP 2 - Using a drive without Windows 10 installed
       
      Disconnect system drive that contains your macOS Mojave install from computer ( This is so that Windows does not overwrite existing macOS Mojave boot loader )
       
      Proceed with a Windows 10 UEFI install.  
      After installation reconnect macOS Mojave Drive, the Windows installation should now be detected and usable in Clover. 
      If Windows 10 is not detected or able to boot,  then verify you installed Windows 10 as UEFI and not MBR ---->  ( Read step 2 - For a drive with Windows 10 installed )
       
       
      OR
       
       
       
      STEP 2 - Using a drive with Windows 10 already installed
       
      Verify your Windows install is  GPT / UEFI or MBR / Legacy BIOS.   
      If Windows install is GPT UEFI then Windows 10 install is ready to use at Clover boot menu, you should be able to boot into Windows directly from Clover boot screen. 
       

       
       
      But if  Windows drive is detected at Clover boot screen, but when booting Windows you get a black screen with a cursor on the top left,
      then this is most likely because Windows drive is MBR ( Legacy BIOS ).  You can easily convert MBR to GPT using  Windows MBR2GPT tool ( this saves hours work having to reinstall Windows 10 and setting up all your applications again  ) 
       
      If Windows 10 install is MBR / Legacy BIOS  then simply convert to GPT / UEFI  following instructions below ( read video summary and view video )
       
       
      ** To use Windows 10  MBR2GPT tool  you must have Windows 10 version 1703 ( creators update  ) or later and less than 3 partitions on 
      the Windows 10 drive **
       
      Video summary:
       
      Confirm Windows 10 drive is MBR Legacy BIOS ( in Windows Disk Management ) Reboot into Windows PE ( Advanced Startup ) Convert from MBR Legacy BIOS to GPT UEFI ( using commands below ) mbr2gpt /validate mbr2gpt /convert Restart Verify Windows 10 drive has changed to GPT UEFI ( in Windows Disk Management )  
       
       
       
      After conversion Windows 10 is ready to use at the Clover boot menu 
       
       
       
      STEP 3 - Stop Windows Boot manager from overriding Clover boot manager
       
      How to stop Windows boot manager from overriding your Hackintosh Clover boot manager when using dual booting between macOS and Windows
       
       
       
       
       
       
    • By cvad
      Small tool to download, compile and build the latest Clover X64 package.
       
       
       

      The script inside is editable.

       
      Enjoy...
       
      Many thanks to the comrade SunKi for help with creating the script.
       
       
       
       
       
      Best thanks - click "Rate File".
       
    • By blxkspell
      Hey!
      As I have 3 Monitors connected, my RX 570 gets arround 50°C while ideling/ web browsing etc. The problem is, that this temp is apparently just the threshold, when the fans start to spin. So the fans start spinning for a minute then they stop for a while again... This is very annoying for me as the rest of my hackintosh is nearly quiet (SSD, 120mm low RPM cpu fan, nearly silent PSU,...), especially when Im using the pc to revise for school. Does somebody know wether its possible to "change" the threshold till the fans start spinning? Like it would probably not be a problem for the gpu at all, if the temp rises to 55°C but therefore be soundless....
       
       
    • By kylon
      Cloud Clover Editor allows you to manage Clover EFI and Ozmosis configs everywhere!
       
       
      WEB
      Open Cloud Clover Editor
       
      APP (MacOS - Discontinued)
      Clover flying editor ( Micky1979 )
       
       
       
       
      Sources: https://bitbucket.org/kylon/cloud-clover-editor-cce/overview


      To run CCE at home you will need:
       
      An HTTP server (Apache, Nginx, ...) PHP 5.3.3+ (latest PHP version is always recommended for better performances/security) Sqlite3 PHP extension  
       
      Some Features:
       
      Edit text in tables:
      Editable fields are marked with a text cursor.
      Double click, or tap and hold, to open the inline editor.
      You can now press Enter or click outside to save your changes.
       
       
      Tri-state checkboxes:
      There are 3 possible states for a checkbox: Checked, indeterminate and unchecked.
       
      Checked: Value is true;
      Indeterminate: Value is false;
      Unchecked: Value is not set (ie, removed from plist)
       
      Working with multiple configs:
      The right sidebar is your multitasking menu.
      Use the add button to create a new config and add it to the list.
      You can safely switch between all your configs, no changes will be lost.
      You can mix Clover EFI and Ozmosis configs.


      Config Upgrade feature:
      In the case you are using old configuration options, CCE gives you the ability to automatically upgrade your config.
       
       
      Copy to:
      You can copy patches between your configs (you will love this when you need to copy kernel and kext patches ;D ).
      You will find a yellow copy icon if that field does support the copyTo feature.
       
       
      Ozmosis Mode:
      A new setting, Cloud Clover Editor Mode, is now added in Cloud Clover Editor -> CCE Settings.
      This will let you switch from Clover EFI to Ozmosis mode.
      Changes to your current file will be lost.
       
       
      CCE Bank 2.0:
      Thanks to @cecekpawon for the idea.
       
      CCE Bank is a database where you can save/load Clover EFI and Ozmosis configs.
      You can protect your config from unwanted modifications or make a publicly editable config.
       
      To save a config in CCE Bank you only need to check the "Save to CCE Bank" option.
       
      Tick the box generate a new CID, if you don t have one.
       
      A CID (CCE ID) acts like a container and it is your authentication key.
      You can group multiple configs under the same CID or generate as many CIDs as you like.
       
      Edit Modes:
      Public: Anyone can make modifications, only the owner can change its settings. Private: Only the owner can make modifications and change its settings. MyBank: Only the owner can see this config, make modifications or change its settings.  
      MyBank is your private area.
      Change the 'view mode' to switch between the public bank and your personal bank.
       
      To manage your currently loaded config, go to Cloud Clover Editor -> Open config -> click the settings button.
       
       
      Notes:
      Locked/Private configs are marked with a padlock MyBank configs are only visibile in your private area Only the owner of a locked config can save the modifications in CCE Bank, hower you are free to do whatever you want in CCE and download the modified config If you loose your CID you can just reply or pm me No account is required!  
       
      Main Features:
      Left sidebar does support touch swipe on touch devices.
      No changes will be lost on page reload.
       
       
      Credits
      mackie100 - took some ideas from his app Clover EFI dev team Eric Slivka - new serial number Virtual1 - new serial number cecekpawon - PHP 5.3.3 patch, , help with the ACPI Loader Mode flag and more Micky1979 - Clover flying editor crusher. - Help with the ACPI Loader Mode flag Download-Fritz - Help with the ACPI Loader Mode flag Pavo - Ozmosis fields and values stehor - Ozmosis fields and values Sherlocks - General help and support gujiangjiang - General help and support Please let me know if i forgot you!
    • By d2a
      So I'm finally joining the grown-ups and trying to set up a new(ish) hack. In the past I've used legacy Clover with my old Gigabyte board and thought I knew what I was doing. But I've been trying to get a UEFI Clover-based install to work and it's going nowhere.
       
      My new system (listed as SysB in sig) is a Gigabyte Z97X-UD3H-BK rev1.1 with firmware F6, an i7 4790K CPU and 4x4GB Corsair 1866MHz. I have the firmware settings set as per various guides and thought this should be a pretty painless transition...
       
      I have successfully run the installer for El Cap several times, but can't get the machine to boot reliably - it seems to change behaviour each boot. Sometimes boot hangs at the Gigabyte logo after choosing boot volume via F12, sometimes it boots to clover but displays no bootable drives, sometimes displays ElCap SSD in Clover but wont boot from it with kernel cache error, and occasionally it will boot all the way.
       
      What I'd like to know is:
       
      Should I update the mobo firmware to the latest version? This board has two more recent Bios software downloads, but they wont allow me to drop back to the version currently installed. I'm nervous to update unless this is likely to be the culprit. Is this just a UEFI issue? If the simple answer is just go legacy mode, maybe I should just avoid the issue... FInally, does anyone else have a working clover install on this board they could share with me? I think I've got it set up as it should be but the strange inconsistent boot behaviour makes me wonder... Thanks
×