ttf-parser 0.5 - laeborari e ncha ea ho sebetsa ka lifonti tsa TrueType

ttf-parser ke laebrari ea ho hlalosa litlhaku tsa TrueType/OpenType.
Mofuta o mocha o na le ts'ehetso e felletseng bakeng sa lifonti tse fapaneng
(mefuta e fapaneng ea lifonti) le C API, ka lebaka leo ke ileng ka etsa qeto ea ho e bapatsa ka lore.

Ho fihlela haufinyane tjena, haeba ho ne ho hlokahala ho sebetsa ka lifonti tsa TrueType, ho ne ho e-na le likhetho tse peli hantle: FreeType le stb_truetype. Ea pele ke motsoako o moholo, oa bobeli o tšehetsa palo e fokolang ea mesebetsi.

ttf-parser e kae-kae bohareng. E ts'ehetsa litafole tse tšoanang tsa TrueType (sebopeho sa TrueType se na le litafole tse ngata tse arohaneng tsa binary) joalo ka FreeType, empa ha e toroe li-glyph ka botsona.

Ka nako e ts'oanang, ttf-parser e na le liphapang tse ling tse ngata tsa bohlokoa:

  1. ttf-parser e ngotsoe ka Rust ntle le ho sebelisa e sa bolokehang. FreeType le stb_truetype li ngotsoe ka C.
  2. ttf-parser ke eona feela ts'ebetsong e bolokehileng mohopolong. Ho bala mohopolo o sa reroang ha ho khonehe. Bofokoli bo lula bo lokisoa ho FreeType, 'me stb_truetype, ha e le hantle, ha e etselitsoe ho bala lifonte tse sa lumellaneng.
  3. ttf-parser ke eona feela ts'ebetso e sireletsehileng ea likhoele. Mekhoa eohle ea ho arola e lula e le teng. Mokhelo feela ke ho seta likhokahano bakeng sa lifonte tse fapaneng, empa ts'ebetso ena e kenella hape. FreeType ha e le hantle e na le khoele e le 'ngoe. stb_truetype - reentrant (o ka sebelisa likopi ka bomong ka likhoele tse fapaneng, empa eseng e le 'ngoe ho tse ngata).
  4. ttf-parser ke eona feela ts'ebetsong e sa sebeliseng likabo tsa qubu. Sena se o lumella ho potlakisa ho bala le ho qoba mathata ka OOM.
  5. Hape, hoo e batlang e le ts'ebetso eohle ea lipalo le liphetoho tsa mefuta ea linomoro li hlahlojoa (ho kenyeletsoa le statically).
  6. Boemong bo bobe ka ho fetisisa, laebrari e ka 'na ea etsa mokhelo. Tabeng ena, ho C API, mekhelo e tla tšoaroa 'me mosebetsi o tla khutlisa phoso, empa e ke ke ea senyeha.

Leha ho na le litiiso tsohle tsa ts'ireletso, ttf-parser le eona ke ts'ebetsong e potlakileng haholo. Mohlala, ho fetisa CFF2 ho potlakile ka makhetlo a 3.5 ho feta FreeType. Ho sa le joalo, Parsing glyf e butle ka 10% ho feta ho stb_truetype, empa sena se bakoa ke taba ea hore ha e tšehetse lifonti tse fapaneng, ho kengoa ts'ebetsong ho hloka ho boloka ho eketsehileng. tlhahisoleseding. Lintlha tse ling ho README.

Source: linux.org.ru

Eketsa ka tlhaloso