Commit Graph

8798 Commits

Author SHA1 Message Date
Behdad Esfahbod
8533bb985e [GSUB] Protect against mismatching Extension subtable types 2009-11-02 14:40:13 -05:00
Behdad Esfahbod
969afd706e [GSUB] Implement ReverseChainSingleSubst
GSUB is done!
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
4acaffd786 [HB] Don't use G_LIKELY! 2009-11-02 14:40:13 -05:00
Behdad Esfahbod
3dcb12f171 [GSUB] Oops, fix Extension check 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
2e8fb6c38d [HB] Tweak some constants and fix Coverage 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
d6aae5f5ca [HB] Cleanup TODOs 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
122f21fb9a [GSUB] Fix context_length handling in Ligature too 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
47958dea21 [HB] Minor cleanup 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
e73a0c2a90 [HB] Correctly skip glyphs when applying (Chain)Context lookups 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
7cff75babd [HB] Fix context_length checking 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
d0ba055700 [HB] ChainContext complete
IranNastaliq renders perfectly again!
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
e072c24e79 [HB] Implement backtrack matching 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
02e1e5c63f [HB] One more step to go, for fully working GSUB and ChainContext 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
f14c2b7acf [HB] Further modularize Context matching 2009-11-02 14:40:12 -05:00
Behdad Esfahbod
13ed4405c5 [HB] A step closer to working ChainContext 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
e8cbaaf6d5 [HB] Add HeadlessArrayTo<> 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
dcb6b60254 [HB] More template goodness 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
aa3d7adca5 [HB] More churning towards ChainContext lookups 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
48f16ed96a [HB] Towards sharing Context and ChainContext code 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
6cf2a52593 [HB] Add check to avoid infinite recursion 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
887c4b4416 [HB] Cosmetic 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
ca5290f499 [HB] Start ChainContext and ReverseChainSingleSubst lookups 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
433f4aea74 [HB] Remove stale TODO 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
6f20f72e9c [HB] Split Layout-common tables into new files 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
f45107fe09 [HB] More shuffling 2009-11-02 14:40:11 -05:00
Behdad Esfahbod
f8dc67b3c2 [HB] Cleanup format unions 2009-11-02 14:40:10 -05:00
Behdad Esfahbod
da1097bc3b [HB] Use four bytes for Null Tag, not 5 2009-11-02 14:40:10 -05:00
Behdad Esfahbod
19fc24f268 [HB] Couple size checks 2009-11-02 14:40:10 -05:00
Behdad Esfahbod
ecf17e849d [HB] Propagate property of first glyph
This slightly grows code size.
2009-11-02 14:40:10 -05:00
Behdad Esfahbod
eca8e33710 [GSUB] Further optimize the main switch 2009-11-02 14:40:10 -05:00
Behdad Esfahbod
13068232e7 [HB] Unify first glyph property checking 2009-11-02 14:40:10 -05:00
Behdad Esfahbod
66bf7ce4e3 [HB] Move Context matching logic out of GSUB 2009-11-02 14:40:10 -05:00
Behdad Esfahbod
a1625528cd [GSUB] Unify ContextSubst matching 2009-11-02 14:40:10 -05:00
Behdad Esfahbod
c36238bea4 [HB] Renames 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
15c3e75b39 [HB] Simplify buffer 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
36f78446ce [HB] Add TODO item 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
ee58aaebd2 [HB] Update copyright years 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
f4c9514935 [HB] Simplify more arrays 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
c9a7cbe9cb [HB] Use ArrayOf<> in GSUB 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
5f810363ac [HB] Add ArrayOf<> 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
238c855fcd [HB] Use OffsetTo<> for Coverage 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
3d54bd1293 [HB] Use OffsetTo<> in more places 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
9e4d9d7b27 [HB] Add OffsetTo template. 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
e07f89295b [HB] Automate int-type size assertion 2009-11-02 14:40:09 -05:00
Behdad Esfahbod
8b83580331 [HB] Use templates for Null objects
Also use a common pool for all nul-content ones.
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
6e13d41401 [HB] Remove obsolete comment 2009-11-02 14:40:08 -05:00
Behdad Esfahbod
9f721cf380 [GSUB] Start ChainContextSubst 2009-11-02 14:40:08 -05:00
Behdad Esfahbod
7fca9e5245 [GSUB] Implement ContextSubstFormat3 2009-11-02 14:40:08 -05:00
Behdad Esfahbod
1ff926a568 [GSUB] Implement ContextSubstFormat2 2009-11-02 14:40:08 -05:00
Behdad Esfahbod
fc36d9453e [GSUB] Add GSUB::substitute_lookup() 2009-11-02 14:40:08 -05:00