I am trying to use ICU to build complex scripts. It has an example in the layout engine user guide (http://userguide.icu-project.org/layoutengine). It sounds pretty simple, but when I started testing it in the sample code, I was stuck in creating a LEFontInstance .
It has nothing to cater for specific types of fonts (ttf / otf, etc.). They gave an example of the definition and use of the ttf font in the PortableFontInstance file in letest.cpp . What I am collecting from all this information is that if we want, for example, to select a specific font by name, we must write a new class inherited from LEFontInstance and implement the font selection ourselves.
This is rather unpleasant for me, since I think that well-known font formats and the use of system font tables should be included in this library, otherwise I, as a user, must implement all the functionality for reading and selecting fonts. After that, the layout engine can process glyphs.
Should I use ICUs to build complex scripts (since the SDK and apple windows provide extensive font support in the system font table)?
What are the efforts associated with using the ICU layout engine? (I see that I will have to handle all font formats myself.)
Is there anything else I'm missing here?
source share