mifunetoshiro / kanjium

The ultimate kanji resource
Other
276 stars 32 forks source link

Many glyphs in MultiElements.ttf is missing width #1

Closed nibarius closed 8 years ago

nibarius commented 8 years ago

There seems to be some problems with the glyphs in the MultiElements font. They don't show up when using the font on a web page, but when trying to use the (.ttf) font on Android some characters are drawn outside their box.

The screenshots below shows some of the "hen" elements. The red ones are drawn with the MultiElements font. As you can see several are drawn incorrectly (U+706B, 火, is one example).

image

I've opened MultiElements.ttf in FontForge and noticed that the glyphs that are drawn correctly all have a width of 2048 and are placed completely inside 0 - 2048. Glyphs that doesn't have any width are all drawn incorrectly.

If I modify MultiElements.ttf by assigning all glyphs a width of 2048 and either centered the glyphs in the available width, or placed them slightly to the left the glyphs are rendered correctly on Android.

mifunetoshiro commented 8 years ago

I think I fixed it, thanks for pointing this out. I also changed the codepoints in the font so instead of e.g. 火 U+706B you need to use 灯 U+706F for ひへん.

Full list of changes: 𠆢 -> ㆟ U+201A2 -> U+319F 八 -> 公 U+516B -> U+516C 𦍌 -> ⺷ U+2634C -> U+2EB7 𠘨 -> ⺇ U+20628 -> U+2E87 心 -> 忌 U+5FC3 -> U+5FCC 土 -> 圦 U+571F -> U+5726 木 -> 札 U+6728 -> U+672D 火 -> 灯 U+706B -> U+706F 禾 -> 利 U+79BE -> U+5229 米 -> 籵 U+7C73 -> U+7C75 𧾷 -> ⻊ U+27FB7 -> U+2ECA 𩙿 -> ⻞ U+2967F -> U+2EDE 𠃊 -> ㇗ U+200CA -> U+31D7 𠃌 -> ㇆ U+200CC -> U+31C6 𠃍 -> ㇕ U+200CD -> U+31D5 𠂉 -> 乞 U+20089 -> U+4E5E 𠂇 -> 厷 U+20087 -> U+53B7 𣥂 -> 步 U+23942 -> U+6B65 𧘇 -> 哀 U+27607 -> U+54C0 𡗗 -> 奉 U+215D7 -> U+5949 𠦝 -> 龺 U+2099D -> U+9FBA 𠃑 -> 呉 U+200D1 -> U+5449 𤴔 -> ⺪ U+24D14 -> U+2EAA

nibarius commented 8 years ago

Great, now all glyphs in this font works well. The multielements.txt file should aslo be update to match the new codepoints. I've made a pullrequest for that change.