ttf-parser 0.5 - ከ TrueType ቅርጸ-ቁምፊዎች ጋር ለመስራት አዲስ ቤተ-መጽሐፍት

ttf-parser TrueType/OpenType ቅርጸ ቁምፊዎችን የሚተነተን ቤተ መጻሕፍት ነው።
አዲሱ ስሪት ለተለዋዋጭ ቅርጸ ቁምፊዎች ሙሉ ድጋፍ አለው
(ተለዋዋጭ ቅርጸ ቁምፊዎች) እና ሲ ኤፒአይ፣ በውጤቱም በታሪኩ ውስጥ ለማስተዋወቅ ወሰንኩ።

እስከ ቅርብ ጊዜ ድረስ ከTrueType ቅርጸ-ቁምፊዎች ጋር ለመስራት የሚያስፈልግ ከሆነ በትክክል ሁለት አማራጮች ነበሩ-FreeType እና stb_truetype። የመጀመሪያው ግዙፍ ጥምረት ነው, ሁለተኛው ደግሞ በትክክል አነስተኛ ቁጥር ያላቸውን ተግባራት ይደግፋል.

ttf-parser መሃል ላይ የሆነ ቦታ ነው። እሱ ሁሉንም ተመሳሳይ TrueType ሰንጠረዦችን ይደግፋል (የ TrueType ቅርጸት ብዙ የተለያዩ ሁለትዮሽ ሰንጠረዦችን ያቀፈ ነው) እንደ FreeType, ግን ግሊፍቶቹን እራሳቸው አይስሉም.

በተመሳሳይ ጊዜ፣ ttf-parser ብዙ ሌሎች ጉልህ ልዩነቶችን ይዟል፡-

  1. ttf-parser ደህንነቱ ያልተጠበቀ ሳይጠቀም በሩስት የተጻፈ ነው። FreeType እና stb_truetype በ C ውስጥ ተጽፈዋል።
  2. ttf-parser ብቸኛው የማህደረ ትውስታ-አስተማማኝ ትግበራ ነው። የዘፈቀደ ማህደረ ትውስታን ማንበብ አይቻልም. ተጋላጭነቶች በFreeType ውስጥ በቋሚነት እየተስተካከሉ ነው፣ እና stb_truetype በመርህ ደረጃ የዘፈቀደ ቅርጸ-ቁምፊዎችን ለማንበብ የተነደፈ አይደለም።
  3. ttf-parser ብቸኛው የክር-አስተማማኝ ትግበራ ነው። ሁሉም የመተንተን ዘዴዎች ቋሚ ናቸው. ብቸኛው ለየት ያለ ሁኔታ ለተለዋዋጭ ቅርጸ-ቁምፊዎች መጋጠሚያዎችን ማቀናበር ነው ፣ ግን ይህ ተግባር እንደገና ገባ። FreeType በመሠረቱ ነጠላ-ክር ነው. stb_truetype - መልሶ ገባ (በተለያዩ ክሮች ውስጥ ነጠላ ቅጂዎችን መጠቀም ይችላሉ ፣ ግን ከብዙዎች ውስጥ አንዱ አይደለም)።
  4. ttf-parser ክምር ምደባዎችን የማይጠቀም ብቸኛው ትግበራ ነው። ይህ መተንተንን ለማፋጠን እና በ OOM ላይ ችግሮችን ለማስወገድ ያስችላል።
  5. እንዲሁም፣ ሁሉም ማለት ይቻላል የሂሳብ ስራዎች እና የቁጥር አይነቶች ልወጣዎች ተረጋግጠዋል (ስታቲስቲክስን ጨምሮ)።
  6. በጣም በከፋ ሁኔታ ውስጥ, ቤተ-መጽሐፍት የተለየ ነገር ሊጥል ይችላል. በዚህ አጋጣሚ፣ በሲ ኤፒአይ ውስጥ፣ ልዩ ሁኔታዎች ይያዛሉ እና ተግባሩ ስህተት ይመልሳል፣ ግን አይበላሽም።

እና ሁሉም የደህንነት ዋስትናዎች ቢኖሩም፣ ttf-parser እንዲሁ ፈጣኑ ትግበራ ነው። ለምሳሌ፣ CFF2ን መተንተን ከFreeType 3.5 እጥፍ ፈጣን ነው። ግሊፍን መተንተን፣ ይህ በእንዲህ እንዳለ፣ ከ stb_truetype 10% ቀርፋፋ ነው፣ ነገር ግን ይህ ተለዋዋጭ ቅርጸ ቁምፊዎችን ስለማይደግፍ ነው፣ አተገባበሩ ተጨማሪ ማከማቸትን ይጠይቃል። መረጃ. ተጨማሪ ዝርዝሮች በ README.

ምንጭ: linux.org.ru

አስተያየት ያክሉ