フォント TrueType 構造解析 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(構造)
(構造)
67行: 67行:
  
  
 entrySelectorはTAG テーブル数が 16(0x10) 以下なら 3。17(0x11) 以上 32(0x20)以下なら4。33(0x21) 以上 64((0x40))以下なら5。の、ように2^n=TAGテーブル数となるようなnがentrySelectorです。
+
 entrySelectorはTAG テーブル数が 16(0x10) 以下なら 3。17(0x11) 以上 32(0x20)以下なら4。33(0x21) 以上 64((0x40))以下なら5。の、ように2^n<=TAGテーブル数となるようなnの最大値がentrySelectorです。
  
 
 searchRangeは 16 * 2^(entrySelector)という値です。
 
 searchRangeは 16 * 2^(entrySelector)という値です。
73行: 73行:
 
 rangeShiftは16 * TAGテーブル数 - entrySelector という値です。
 
 rangeShiftは16 * TAGテーブル数 - entrySelector という値です。
  
 TAGテーブル数から計算できるこれらの値はTAGテーブルの範囲を計算するために必要となるような値になっています。無くても原理がわかっていれば、再度計算できますけど、また計算するという時間を減らすために備わっていると考えてよいでしょう。なんどもなんども、読み込むかもしれませんので、計算量の節約に役立つのかもしれません。上記の値にヘッダ部自体が使う12byteをふくめると最初のテーブルへのoffsetが求まります。
+
 TAGテーブル数から計算できるこれらの値は、よくわからない意味不明の操作をしているように感じますが、TAGテーブルの範囲を計算するために必要となるような値になっています。無くても原理がわかっていれば、再度計算できますけど、また計算するという時間を減らすために備わっていると考えてよいでしょう。なんどもなんども、読み込むかもしれませんので、計算量の節約に役立つのかもしれません。上記の値にヘッダ部自体が使う12byteをふくめると最初のテーブルへのoffsetが求まります。
  
  

2022年8月30日 (火) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス