ttf-parser 0.5 - TrueType เดซเต‹เดฃเตเดŸเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดชเตเดคเดฟเดฏ เดฒเตˆเดฌเตเดฐเดฑเดฟ

ttf-parser TrueType/OpenType เดซเต‹เดฃเตเดŸเตเด•เตพ เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดพเดฃเต.
เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดฟเดจเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดซเต‹เดฃเตเดŸเตเด•เตพเด•เตเด•เต เดชเต‚เตผเดฃเตเดฃ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดฃเตเดŸเต
(เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดซเต‹เดฃเตเดŸเตเด•เตพ) เด•เต‚เดŸเดพเดคเต† C API, เด…เดคเดฟเดจเตเดฑเต† เดซเดฒเดฎเดพเดฏเดฟ เดžเดพเตป เด…เดคเต เดฒเต‹เดฑเดฟเดฏเดฟเตฝ เดชเดฐเดธเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต.

เด…เดŸเตเดคเตเดค เด•เดพเดฒเด‚ เดตเดฐเต†, TrueType เดซเต‹เดฃเตเดŸเตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดฐเดฃเตเดŸเต เด“เดชเตเดทเดจเตเด•เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต: FreeType, stb_truetype. เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต เด’เดฐเต เดตเดฒเดฟเดฏ เดธเด‚เดฏเต‹เดœเดจเดฎเดพเดฃเต, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เดตเดณเดฐเต† เดšเต†เดฑเดฟเดฏ เดŽเดฃเตเดฃเด‚ เดซเด‚เด—เตเดทเดจเตเด•เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต.

ttf-parser เดจเดŸเตเดตเดฟเตฝ เดŽเดตเดฟเดŸเต†เดฏเต‹ เด‰เดฃเตเดŸเต. เด‡เดคเต เดŽเดฒเตเดฒเดพ เดŸเตเดฐเต‚เดŸเตˆเดชเตเดชเต เดŸเต‡เดฌเดฟเดณเตเด•เดณเต†เดฏเตเด‚ (เดŸเตเดฐเต‚เดŸเตˆเดชเตเดชเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เดชเดฒ เดชเตเดฐเดคเตเดฏเต‡เด• เดฌเตˆเดจเดฑเดฟ เดŸเต‡เดฌเดฟเดณเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต) เดซเตเดฐเต€เดŸเตˆเดชเตเดชเดพเดฏเดฟ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด—เตเดฒเดฟเดซเตเด•เตพ เดธเตเดตเดฏเด‚ เดตเดฐเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เด…เดคเต‡ เดธเดฎเดฏเด‚, ttf-parser-เตฝ เดฎเดฑเตเดฑเต เดชเดฒ เดชเตเดฐเดงเดพเดจ เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เดณเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต:

  1. ttf-parser เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดฒเตเดฒเดพเดคเตเดคเดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเต† Rust เตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. FreeType, stb_truetype เดŽเดจเตเดจเดฟเดต เดธเดฟเดฏเดฟเตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  2. ttf-parser เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดฎเต†เดฎเตเดฎเดฑเดฟ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ. เดฑเดพเตปเดกเด‚ เดฎเต†เดฎเตเดฎเดฑเดฟ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ. เดซเตเดฐเต€เดŸเตˆเดชเตเดชเดฟเตฝ เด•เต‡เดŸเตเดชเดพเดŸเตเด•เตพ เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† stb_truetype เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เด…เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดซเต‹เดฃเตเดŸเตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒ.
  3. ttf-parser เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดคเตเดฐเต†เดกเต-เดธเต‡เดซเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ. เดŽเดฒเตเดฒเดพ เดชเดพเดดเตเดธเดฟเด‚เด—เต เดฐเต€เดคเดฟเด•เดณเตเด‚ เดธเตเดฅเดฟเดฐเดฎเดพเดฃเต. เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดซเต‹เดฃเตเดŸเตเด•เตพเด•เตเด•เดพเดฏเดฟ เด•เต‹เตผเดกเดฟเดจเต‡เดฑเตเดฑเตเด•เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดเด• เด…เดชเดตเดพเดฆเด‚, เดŽเดจเตเดจเดพเตฝ เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดตเต€เดฃเตเดŸเตเด‚ เดชเตเดฐเดตเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต. เดซเตเดฐเต€เดŸเตˆเดชเตเดชเต เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ เด’เดฑเตเดฑ-เดคเตเดฐเต†เดกเต เด†เดฃเต. stb_truetype - reentrant (เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเตเดฏเดคเตเดฏเดธเตเดค เดคเตเดฐเต†เดกเตเด•เดณเดฟเตฝ เดตเตเดฏเด•เตเดคเดฟเด—เดค เดชเด•เตผเดชเตเดชเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เดŽเดจเตเดจเดพเตฝ เดชเดฒเดคเดฟเดฒเตเด‚ เด’เดจเตเดจเดฒเตเดฒ).
  4. ttf-parser เด†เดฃเต เดนเต€เดชเตเดชเต เด…เดฒเต‹เด•เตเด•เต‡เดทเดจเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเตเดค เด’เดฐเต‡เดฏเตŠเดฐเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ. เดชเดพเดดเตโ€Œเดธเดฟเด‚เด—เต เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เดพเดจเตเด‚ OOM-เดฒเต† เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เด’เดดเดฟเดตเดพเด•เตเด•เดพเดจเตเด‚ เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.
  5. เด•เต‚เดŸเดพเดคเต†, เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เด—เดฃเดฟเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เดธเด‚เด–เตเดฏเดพ เดคเดฐเด™เตเด™เดณเตเดŸเต† เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ (เดธเตเดฅเดฟเดฐเดฎเดพเดฏเดฟ เด‰เตพเดชเตเดชเต†เดŸเต†) เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต.
  6. เดเดฑเตเดฑเดตเตเด‚ เดฎเต‹เดถเด‚ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดฒเตˆเดฌเตเดฐเดฑเดฟ เด’เดฐเต เด…เดชเดตเดพเดฆเด‚ เดจเตฝเด•เดฟเดฏเต‡เด•เตเด•เดพเด‚. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, C API-เตฝ, เด’เดดเดฟเดตเดพเด•เตเด•เดฒเตเด•เตพ เดชเดฟเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚, เด•เต‚เดŸเดพเดคเต† เดซเด‚เด—เตเดทเตป เด’เดฐเต เดชเดฟเดถเด•เต เดจเตฝเด•เตเด‚, เดชเด•เตเดทเต‡ เด•เตเดฐเดพเดทเต เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ.

เดŽเดฒเตเดฒเดพ เดธเตเดฐเด•เตเดทเดพ เด—เตเดฏเดพเดฐเดจเตเดฑเดฟเด•เดณเตเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดŸเตเดŸเตเด‚, ttf-parser เดเดฑเตเดฑเดตเตเด‚ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด†เดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, CFF2 เดชเดพเดดเตโ€Œเดธเดฟเด‚เด—เต เดซเตเดฐเต€เดŸเตˆเดชเตเดชเดฟเดจเต‡เด•เตเด•เดพเตพ 3.5 เดฎเดŸเด™เตเด™เต เดตเต‡เด—เดคเดฏเตเดณเตเดณเดคเดพเดฃเต. เด…เดคเต‡เดธเดฎเดฏเด‚, glyf เดชเดพเดดเตโ€Œเดธเดฟเด‚เด—เต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต stb_truetype-เดจเต‡เด•เตเด•เดพเตพ 10% เดฎเดจเตเดฆเด—เดคเดฟเดฏเดฟเดฒเดพเดฃเต, เดชเด•เตเดทเต‡ เด‡เดคเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดซเต‹เดฃเตเดŸเตเด•เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เดพเดคเตเดคเดคเดพเดฃเต เด‡เดคเดฟเดจเต เด•เดพเดฐเดฃเด‚, เด‡เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด…เดงเดฟเด• เดธเด‚เดญเดฐเดฃเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดตเดฟเดตเดฐเด™เตเด™เตพ. เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ เตฝ เดตเดพเดฏเดฟเด•เตเด•เตเด•.

เด…เดตเดฒเด‚เดฌเด‚: linux.org.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•