簡體   English   中英

TrueType字體的cmap表中的字符代碼是什么

[英]What the character codes are in the cmap table in TrueType fonts

想知道TrueType字體中的cmap表的“字符代碼”是什么。 Microsoft談論字符到字形索引映射表 ,但是我看不到字符或字形索引的含義。

如果一個地方的字體文件指定的編碼 ,比如Unicode的11.0,然后字符代碼相等為Unicode代碼點,如想知道U+0061a 或者,如果字符代碼,而不是“瀏覽器”的字符代碼(十進制代碼我猜的),如97a

基本上想知道如何將鍵盤字符映射到字體字形,以及這的真正含義。 我認為您不是很想將鍵盤代碼映射到字體字形,而是將U+0061這樣的Unicode代碼映射到字體字形,因此,如果使用JavaScript( 例如 ),您可以執行 ,如果您的字體是Ω支持這一點。

嘗試從字體文件如何將數學字形作為矢量/路徑映射到某種字符或代碼方面來理解字體文件的結構。

簡短但可能不希望的答案當然是“閱讀OpenType規范。這需要一段時間”,因此,稍長一些但更容易且不太詳細的答案將是http://pomax.github.io/CFF-glyphlet -fonts ,盡管這會跳過TTF,所以讓我們在這里看一下:

給定要向其應用字體的上下文,您的輸入代碼將通過適用的CMAP進行運行,從而將計算機代碼(ASCII代碼,Unicode代碼點,ISO-2022-jp,您擁有的內容)映射到字形ID。 特別是對於TTF,該ID然后用作“ loca”表 (即“數據位置的字形索引”)表中的數組偏移量,並為字體包含的每個字形指定“ glyf”表中的字節偏移量。 然后,您以該字節偏移量查詢glyf表,並開始按https://docs.microsoft.com/zh-cn/typography/opentype/spec/glyf指定的方式解析字節

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM