ttf-parser 0.5 - ืกืคืจื™ื™ื” ื—ื“ืฉื” ืœืขื‘ื•ื“ื” ืขื ื’ื•ืคื ื™ TrueType

ttf-parser ื”ื™ื ืกืคืจื™ื™ื” ืœื ื™ืชื•ื— ื’ื•ืคื ื™ TrueType/OpenType.
ืœื’ืจืกื” ื”ื—ื“ืฉื” ื™ืฉ ืชืžื™ื›ื” ืžืœืื” ื‘ื’ื•ืคื ื™ื ืžืฉืชื ื™ื
(ื’ื•ืคื ื™ื ืžืฉืชื ื™ื) ื•-C API, ื›ืชื•ืฆืื” ืžื›ืš ื”ื—ืœื˜ืชื™ ืœืคืจืกื ืื•ืชื• ื‘ืžื™ื“ืข.

ืขื“ ืœืื—ืจื•ื ื”, ืื ื”ื™ื” ืฆื•ืจืš ืœืขื‘ื•ื“ ืขื ื’ื•ืคื ื™ TrueType, ื”ื™ื• ื‘ื“ื™ื•ืง ืฉืชื™ ืืคืฉืจื•ื™ื•ืช: FreeType ื•-stb_truetype. ื”ืจืืฉื•ืŸ ื”ื•ื ืงื•ืžื‘ื™ื ื” ืขื ืงื™ืช, ื”ืฉื ื™ ืชื•ืžืš ื‘ืžืกืคืจ ืงื˜ืŸ ืœืžื“ื™ ืฉืœ ืคื•ื ืงืฆื™ื•ืช.

ttf-parser ื ืžืฆื ืื™ืคืฉื”ื• ื‘ืืžืฆืข. ื”ื•ื ืชื•ืžืš ื‘ื›ืœ ืื•ืชืŸ ื˜ื‘ืœืื•ืช TrueType (ืคื•ืจืžื˜ TrueType ืžื•ืจื›ื‘ ืžื˜ื‘ืœืื•ืช ื‘ื™ื ืืจื™ื•ืช ืจื‘ื•ืช ื ืคืจื“ื•ืช) ื›ืžื• FreeType, ืืš ืื™ื ื• ืžืฆื™ื™ืจ ืืช ื”ื’ืœื™ืคื™ื ืขืฆืžื.

ื™ื—ื“ ืขื ื–ืืช, ttf-parser ืžื›ื™ืœ ื”ื‘ื“ืœื™ื ืžืฉืžืขื•ืชื™ื™ื ืจื‘ื™ื ืื—ืจื™ื:

  1. ttf-parser ื ื›ืชื‘ ื‘-Rust ืžื‘ืœื™ ืœื”ืฉืชืžืฉ ื‘-unsafe. FreeType ื•-stb_truetype ื›ืชื•ื‘ื™ื ื‘-C.
  2. ttf-parser ื”ื•ื ื”ืžื™ืžื•ืฉ ื”ื™ื—ื™ื“ ื‘ื˜ื•ื— ื‘ื–ื™ื›ืจื•ืŸ. ืงืจื™ืืช ื–ื™ื›ืจื•ืŸ ืืงืจืื™ ืื™ื ื” ืืคืฉืจื™ืช. ืคื’ื™ืขื•ื™ื•ืช ืžืชื•ืงื ื•ืช ื›ืœ ื”ื–ืžืŸ ื‘-FreeType, ื•-stb_truetype, ื‘ืื•ืคืŸ ืขืงืจื•ื ื™, ืœื ื ื•ืขื“ ืœืงืจื•ื ืคื•ื ื˜ื™ื ืฉืจื™ืจื•ืชื™ื™ื.
  3. ttf-parser ื”ื•ื ื”ืžื™ืžื•ืฉ ื”ื™ื—ื™ื“ ื‘ื˜ื•ื— ื‘ืฉืจืฉื•ืจ. ื›ืœ ืฉื™ื˜ื•ืช ื”ื ื™ืชื•ื— ืงื‘ื•ืขื•ืช. ื”ื™ื•ืฆื ืžืŸ ื”ื›ืœืœ ื”ื™ื—ื™ื“ ื”ื•ื ื”ื’ื“ืจืช ืงื•ืื•ืจื“ื™ื ื˜ื•ืช ืขื‘ื•ืจ ื’ื•ืคื ื™ื ืžืฉืชื ื™ื, ืืš ืคื•ื ืงืฆื™ื” ื–ื• ื—ื•ื–ืจืช. FreeType ื”ื•ื ื‘ืขืฆื ื—ื•ื˜ ื™ื—ื™ื“. stb_truetype - reentrant (ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืขื•ืชืงื™ื ื‘ื•ื“ื“ื™ื ื‘ืฉืจืฉื•ืจื™ื ืฉื•ื ื™ื, ืื‘ืœ ืœื ืื—ื“ ืžื ื™ ืจื‘ื™ื).
  4. ttf-parser ื”ื•ื ื”ืžื™ืžื•ืฉ ื”ื™ื—ื™ื“ ืฉืื™ื ื• ืžืฉืชืžืฉ ื‘ื”ืงืฆืื•ืช ืขืจื™ืžื”. ื–ื” ืžืืคืฉืจ ืœืš ืœื”ืื™ืฅ ืืช ื”ื ื™ืชื•ื— ื•ืœื”ื™ืžื ืข ืžื‘ืขื™ื•ืช ืขื OOM.
  5. ื›ืžื• ื›ืŸ, ื›ืžืขื˜ ื›ืœ ืคืขื•ืœื•ืช ื”ื—ืฉื‘ื•ืŸ ื•ื”ื”ืžืจื•ืช ืฉืœ ืกื•ื’ื™ื ืžืกืคืจื™ื™ื ื ื‘ื“ืงื•ืช (ื›ื•ืœืœ ืกื˜ื˜ื™ืช).
  6. ื‘ืžืงืจื” ื”ื’ืจื•ืข, ื”ืกืคืจื™ื™ื” ืขืฉื•ื™ื” ืœื–ืจื•ืง ื—ืจื™ื’. ื‘ืžืงืจื” ื–ื”, ื‘-C API ื™ื™ืชืคืกื• ื—ืจื™ื’ื™ื ื•ื”ืคื•ื ืงืฆื™ื” ืชื—ื–ื™ืจ ืฉื’ื™ืื”, ืืš ืœื ืชืงืจื•ืก.

ื•ืœืžืจื•ืช ื›ืœ ืขืจื‘ื•ื™ื•ืช ื”ืื‘ื˜ื—ื”, ttf-parser ื”ื•ื ื’ื ื”ื™ื™ืฉื•ื ื”ืžื”ื™ืจ ื‘ื™ื•ืชืจ. ืœื“ื•ื’ืžื”, ื ื™ืชื•ื— CFF2 ืžื”ื™ืจ ืคื™ 3.5 ืž-FreeType. ื ื™ืชื•ื— ื’ืœื™ืฃ, ื‘ื™ื ืชื™ื™ื, ืื™ื˜ื™ ื‘-10% ืžืืฉืจ ื‘-stb_truetype, ืืš ื–ื” ื ื•ื‘ืข ืžื”ืขื•ื‘ื“ื” ืฉื”ื•ื ืื™ื ื• ืชื•ืžืš ื‘ื’ื•ืคื ื™ื ืžืฉืชื ื™ื, ืฉื”ื˜ืžืขืชื ื“ื•ืจืฉืช ืื—ืกื•ืŸ ื ื•ืกืฃ. ืžึตื™ื“ึธืข. ืคืจื˜ื™ื ื ื•ืกืคื™ื ื‘ README.

ืžืงื•ืจ: linux.org.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”