stgiga / UnifontEX

An extended fork of GNU Unifont with a focus on high compatibility.
https://stgiga.github.io/UnifontEX/
GNU General Public License v2.0
63 stars 1 forks source link

1. Glyphs added to Unifont 2.Combining ◌ Question #4

Open KooIaIa opened 1 month ago

KooIaIa commented 1 month ago

Hi 👋 I'm learning about Unifont and have a few questions.

  1. Is there a list where I can see all the characters in UnifontEX not in Unifont? Your readme says: "So yes, you get the whole Playing Cards block, the whole Domino Tiles block, and the whole block allocated to Mahjong tiles. "

When I looked in Unifont I saw all the same Domino and Mahjong tiles so was confused. These are in Unifont too aren't they?

  1. How do you handle combining characters? In Unifont there is the file: plane00-combining.txt

Do you have a file that keeps track of all the properties to render combining and non-visible characters like this?

I'm trying to figure out how to make a 3D Unifont renderer which involves making my own 3d Font format from scratch. Thanks for the help and love of Unicode <3.

Koolala

stgiga commented 1 month ago

UnifontEX has more glyphs than upstream Unifont by virtue of merging Plane 0 and Plane 1 into a single file, something not done by upstream Unifont. No glyphs were added or changed from Unifont-JP 15.0.06 and 11.0.01 Upper.

Yes, UnifontEX and Unifont both have the Mahjong, Playing Cards, and Dominoes blocks. Using them in upstream Unifont requires using Unifont Upper, a separate file. Many environments require a singular font file, which UnifontEX is.

UnifontEX is built from the pre-compiled TrueType versions of Unifont that already figured out combining. UnifontEX handles characters identically. In most alphabets, visually, UnifontEX should look identical to Unifont. UnifontEX is essentially an under-the-hood full remodeling. Compatibility is significantly increased, more formats are offered, and more features of the formats are used. And Plane 0 coexists with Plane 1. Even in BDF, something official Unifont BDFs don't do. I also have made webfont versions.

Basically, my work on UnifontEX is effectively making many QoL changes not pursued by upstream Unifont, but visually nothing has changed. I used the TrueType builds as the base rather than hex. I tried turning the BDF into a hex via BitsNPicas and it went badly. hex, PCF, PostScript OTF (I'm using glyf outlines but UnifontEX is both TrueType and OpenType) and PSF are formats offered by Unifont that UnifontEX does not and cannot support. But virtually every other possible font format is offered. No PostScript besides Type42 (wrapped TrueType) due to em-size reasons.