Replies: 1 comment
-
I think this is the same as #2642 (see my answer there) Excause for the delay. U8g2 is just a spare time project and at the moment I am occupied with a lot of other topics. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi ;
I need to have a 20 pixel and 24 pixel Persian font for u8g2 , I have a Persian_Reshaper that works well with u8g2 persian fonts like : u8g2_font_samim_16_t_all
I downloaded the unicode zar normal font, "zar.ttf" font from : azfonts.net
https://www.azfonts.net/fonts/zar/normal-262814
zar.zip
I also realized that in order for this font to be compatible with the Persian Reshaper fonts in the library (like "samim"), the glyph maps must be the same as those fonts. so I make a persian_map.txt file :
persian_map.txt
map 193=1569
map 194=1570
map 195=1571
map 196=1572
map 197=1573
map 198=1574
map 199=1575
map 200=1576
map 555=1577
map 202=1578
map 203=1579
map 204=1580
map 205=1581
map 206=1582
map 207=1583
map 208=1584
map 209=1585
map 210=1586
map 184=1688
map 211=1587
map 212=1588
map 213=1589
map 214=1590
map 215=1591
map 216=1592
...
I made the persian_map.txt from this reshape code that works with all u8g2 persian fonts:
const prGlyph prForms[] PROGMEM = {
// Ascii Code, Code, Isolated, Initial, Medial, Final
{193, "\u0621", "\uFE80", "\uFE80", "\uFE80", "\uFE80" }, //1 HAMZA ء []
{194, "\u0622", "\uFE81", "\uFE81", "\uFE82", "\uFE82" }, //2 ALEF_MADDA آ []
{195, "\u0623", "\uFE83", "\uFE83", "\uFE84", "\uFE84" }, //3 ALEF_HAMZA_ABOVE أ []
{196, "\u0624", "\uFE85", "\uFE85", "\uFE86", "\uFE86" }, //4 WAW_HAMZA ؤ []
{197, "\u0625", "\uFE87", "\uFE87", "\uFE88", "\uFE88" }, //5 ALEF_HAMZA_BELOW إ []
{198, "\u0626", "\uFE89", "\uFE8B", "\uFE8C", "\uFE8A" }, //6 YEH_HAMZA ئ []
{199, "\u0627", "\uFE8D", "\uFE8D", "\uFE8E", "\uFE8E" }, //7 ALEF ا []
{200, "\u0628", "\uFE8F", "\uFE91", "\uFE92", "\uFE90" }, //8 BEH ب
{555, "\u0629", "\uFE93", "\uFE93", "\uFE94", "\uFE94" }, //9 TEH_MARBUTA ة []
{202, "\u062A", "\uFE95", "\uFE97", "\uFE98", "\uFE96" }, //10 TEH ت
{203, "\u062B", "\uFE99", "\uFE9B", "\uFE9C", "\uFE9A" }, //11 THEH ث
{204, "\u062C", "\uFE9D", "\uFE9F", "\uFEA0", "\uFE9E" }, //12 JEEM ج
{205, "\u062D", "\uFEA1", "\uFEA3", "\uFEA4", "\uFEA2" }, //13 HAH ح
{206, "\u062E", "\uFEA5", "\uFEA7", "\uFEA8", "\uFEA6" }, //14 KHAH خ
{207, "\u062F", "\uFEA9", "\uFEA9", "\uFEAA", "\uFEAA" }, //15 DAL د []
{208, "\u0630", "\uFEAB", "\uFEAB", "\uFEAC", "\uFEAC" }, //16 THAL ذ []
{209, "\u0631", "\uFEAD", "\uFEAD", "\uFEAE", "\uFEAE" }, //17 REH ر []
{210, "\u0632", "\uFEAF", "\uFEAF", "\uFEB0", "\uFEB0" }, //18 ZAIN ز []
{184, "\u0698", "\uFB8A", "\uFB8A", "\uFB8B", "\uFB8B" }, //19 ZHEH ژ []
{211, "\u0633", "\uFEB1", "\uFEB3", "\uFEB4", "\uFEB2" }, //20 SEEN
{212, "\u0634", "\uFEB5", "\uFEB7", "\uFEB8", "\uFEB6" }, //21 SHEEN
{213, "\u0635", "\uFEB9", "\uFEBB", "\uFEBC", "\uFEBA" }, //22 SAD ص
{214, "\u0636", "\uFEBD", "\uFEBF", "\uFEC0", "\uFEBE" }, //23 DAD ض
{215, "\u0637", "\uFEC1", "\uFEC3", "\uFEC4", "\uFEC2" }, //24 TAH ط
{216, "\u0638", "\uFEC5", "\uFEC7", "\uFEC8", "\uFEC6" }, //25 ZAH ظ
{217, "\u0639", "\uFEC9", "\uFECB", "\uFECC", "\uFECA" }, //26 AIN ع
{218, "\u063A", "\uFECD", "\uFECF", "\uFED0", "\uFECE" }, //27 GHAIN غ
{160, "\u0640", "\u0640", "\u0640", "\u0640", "\u0640" }, //28 TATWEEL ـ
{161, "\u0641", "\uFED1", "\uFED3", "\uFED4", "\uFED2" }, //29 FEH ف
{162, "\u0642", "\uFED5", "\uFED7", "\uFED8", "\uFED6" }, //30 QAF ق
{163, "\u0643", "\uFED9", "\uFEDB", "\uFEDC", "\uFEDA" }, //31 KAF Arabic ك
{164, "\u0644", "\uFEDD", "\uFEDF", "\uFEE0", "\uFEDE" }, //32 LAM ل
{165, "\u0645", "\uFEE1", "\uFEE3", "\uFEE4", "\uFEE2" }, //33 MEEM م
{228, "\u0646", "\uFEE5", "\uFEE7", "\uFEE8", "\uFEE6" }, //34 NOON ن
{167, "\u0647", "\uFEE9", "\uFEEB", "\uFEEC", "\uFEEA" }, //35 HEH ه
{168, "\u0648", "\uFEED", "\uFEED", "\uFEEE", "\uFEEE" }, //36 WAW و []
{169, "\u0649", "\uFEEF", "\uFEEF", "\uFEF0", "\uFEF0" }, //37 ALEF_MAKSURA [*]
{170, "\u064A", "\uFEF1", "\uFEF3", "\uFEF4", "\uFEF2" }, //38 YEH Arabic ي
{172, "\u06CC", "\uFBFC", "\uFBFE", "\uFBFF", "\uFBFD" }, //39 YEH Farsi ی
{141, "\u0686", "\uFB7A", "\uFB7C", "\uFB7D", "\uFB7B" }, //40 CHEH چ
{222, "\u067E", "\uFB56", "\uFB58", "\uFB59", "\uFB57" }, //41 Peh پ
{144, "\u06AF", "\uFB92", "\uFB94", "\uFB95", "\uFB93" }, //42 Gaf گ
{201, "\u06A9", "\uFB8E", "\uFB90", "\uFB91", "\uFB8F" }, //43 Kaf ک
{32, "\u0020", "\u0020", "\u0020", "\u0020", "\u0020" }, //44 Space
{44, "\u060C", "\u060C", "\u060C", "\u060C", "\u060C" }, //45 Kama
{20, "\u200C", "\u200C", "\u200C", "\u200C","\u200C" }, //46 half-space
{58, "\u003A", "\u003A", "\u003A", "\u003A", "\u003A" }, //47 :
{187, "\u061B", "\u061B", "\u061B", "\u061B", "\u061B" }, //48 ؛
{46, "\u002E", "\u002E", "\u002E", "\u002E", "\u002E" }, //49 .
{191, "\u061F", "\u061F", "\u061F", "\u061F", "\u061F" }, //50 ؟
{48, "\u06F0", "\u06F0", "\u06F0", "\u06F0", "\u06F0" }, //51 0
{49, "\u06F1", "\u06F1", "\u06F1", "\u06F1", "\u06F1" }, //52 1
{50, "\u06F2", "\u06F2", "\u06F2", "\u06F2", "\u06F2" }, //53 2
{51, "\u06F3", "\u06F3", "\u06F3", "\u06F3", "\u06F3" }, //54 3
{52, "\u06F4", "\u06F4", "\u06F4", "\u06F4", "\u06F4" }, //55 4
{53, "\u06F5", "\u06F5", "\u06F5", "\u06F5", "\u06F5" }, //56 5
{54, "\u06F6", "\u06F6", "\u06F6", "\u06F6", "\u06F6" }, //57 6
{55, "\u06F7", "\u06F7", "\u06F7", "\u06F7", "\u06F7" }, //58 7
{56, "\u06F8", "\u06F8", "\u06F8", "\u06F8", "\u06F8" }, //59 8
{57, "\u06F9", "\u06F9", "\u06F9", "\u06F9", "\u06F9" }, //60 9
{41, "\u0028", "\u0028", "\u0028", "\u0028", "\u0028" }, //61 (
{40, "\u0029", "\u0029", "\u0029", "\u0029", "\u0029" } //62 )
};
then I tryed this commands:
otf2bdf -r 72 -p 20 zar.ttf -o zar20.bdf
bdfconv -v -f 1 -m persian_map.txt -n u8g2_font_zar20 -o zar20.c zar20.bdf
but unfortunately I dont get any gliph in output .c file:
/*
Fontname: -FreeType-Zar-Medium-R-Normal--20-200-72-72-P-85-ISO10646-1
Copyright: Generated by Sinasoft Co.
Glyphs: 0/460
BBX Build Mode: 0
*/
const uint8_t u8g2_font_zar20[27] U8G2_FONT_SECTION("u8g2_font_zar20") =
"\0\0\2\2\0\0\0\0\0\0\0\0\0\17\375\15\377\0\0\0\0\0\2\0\0\0";
Would you please help me, I tryed so many times with so many ways.
thank you very much.
Beta Was this translation helpful? Give feedback.
All reactions