PhMajerus / FIGfonts

Philippe Majerus's FIGfonts collection
8 stars 0 forks source link

Vietnamese glyphs not rendering in phm-largetype (UTF-8) #1

Closed trembyle closed 3 days ago

trembyle commented 1 month ago

The readme says that Vietnamese characters should be included in phm-largetype. These don't seem to be rendering for me using the UTF-8 control file. Large Type Piece segments are rendering fine for standard Latin letters. I passed the string through iconv to ensure I'm really sending UTF-8 encoded Vietnamese characters.

image

PhMajerus commented 1 month ago

You don't need the iconv step, echo should give you UTF-8 already, but the current phm-largetype does not support all characters needed for Vietnamese. Sorry about that, I didn't explain correctly in the readme file.

The characters included are as follows:

The Vietnamese alphabet isn't complete, as it would also require more characters from the Latin Extended Additional block, such as ế and in your example. I'm not sure whether all those characters could be built to fit in the current design, as there is no space below characters for the dot in . Designing a variation with an extra row to include proper descenders for lowercase and giving space for lower diacritics would probably be more correct and nicer looking.

I'll try to revisit it when I have some time and see if Latin Extended B and Additional can be added, but I think it cannot be completed with the current design.

trembyle commented 1 month ago

Thanks! Yes, I wasn't sure exactly which characters were included or how to check. Anyway, these fonts are really nice, and I'll use them even without Vietnamese 🙂

PhMajerus commented 5 days ago

I added the Latin Extended Additional block. It may still not be enough for Vietnamese, as it seems to require characters scattered in Latin-1 Supplement, Latin Extended-A, Latin Extended-B, and Latin Extended Additional, and Extended-B is not complete yet, but it should already improve the situation over the previous version. Note that because of the number of lines used by the font, accents below characters are never shown, just like the limited descenders, but that's a design choice for this font.

image

I don't know Vietnamese, so if you know which other characters are required, I could prioritize them before doing the whole Latin Extended-B block.

PhMajerus commented 3 days ago

I completed the Latin Extended-B block. I believe Vietnamese should be supported now. Let me know if anything is still missing.

trembyle commented 2 days ago

It works beautifully now! Everything appears complete. This looks like a lot of work that you did. Thank you so much for adding these!

I am merely a Vietnamese learner (it's a very difficult language!). Essentially you need all of the extra vowels (ă, â, ê, ô, ơ, ư), plus the five diacritic tone markers for these new vowels and the standard latin vowels (including i and also y). There is one new consonant: the hard đ with crossbar. And of course you need all of this in both letter cases. As I said, it's a very difficult language before you even try to pronounce it!

Here is a sample for the world to see: image

trembyle commented 2 days ago

Oh, no, I spoke too soon! I am not seeing the underdot (nặng, "heavy" tone) for any of the vowels. This one is necessary. Is this missing because there is not enough room at the bottom?

PhMajerus commented 2 days ago

Yeah, I managed to include cedillas and hooks as part of the bottom of characters, but other accents or diacritics supposed to be under are not shown to keep the design on 3 lines. This is consistent with lowercase letters missing their descenders.

The original design goal of this font was to be a modernized and extended version of the example provided by HP when they designed the Large Type Pieces, and it was mostly intended for uppercase use without accents to display screens titles.

Another version of the font using 4 or 5 lines would be great to improve lowercase descenders and support accents under characters, but that is a lot of work for another time.

If you don't get the [?] replacement symbol for a character, it means it is defined in the font, but you should consider that the stuffs below the 3rd line are cropped, just like uppercase don't even have accents over them because of the lack of space as well.

trembyle commented 1 day ago

Understood. In the meantime, this can be used on a very limited basis for short phrases, as long as users avoid words spelled with nặng tones.