Behdad Esfahbod
9bd629ccd0
[HB] Fix warnings
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
5ff4e13143
[HB] Avoid infinite recusion in Extension sanitize()
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
d60bb8ca2a
[HB] Hook Sanitizer up. Hell's breaking loose right now
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
679f41fe61
[HB] Fix leak
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
4e8a0602bb
[HB] Add Sanitizer
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
2765d333e5
[HB] Add XXX
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
a328d66e6a
[HB] Minor cleanup
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
577c111649
[HB] Shuffle code around
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
b1e187fc63
[HB] More sanitize infrastructure
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
b508e5ccd5
[HB] open-file sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
738c54d9ca
[HB] Tag sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
e49a84c9e3
[HB] GDEF sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
18939487d0
[HB] Fix Extension sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
f2be750981
[HB] Remove stale TODO
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
ac26e2a838
[HB] Hookup NEUTER()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
15164d9258
[HB] Fix mix warnings
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
42b778f89e
[HB] GPOS sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
dc9c4d93cd
[HB] Sanitize DeviceTable
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
ad3a3cd495
[HB] More casts
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
95639fccc1
[HB] Fix couple of bugs
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
2b5a59c277
[HB] More cast cleanup
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
196598bbcc
[Hb] Use reinterpret casts instead of direct casts to char *
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
92b5dd8e71
[HB] Merge more templates
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
e6ab2c59ba
[HB] Simplify indirect sanitize()
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
29d8644a31
[HB] Finish GSUB sanitize()
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
cf086adca1
[HB] Add comment
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
a97ce570ab
[HB] Optimize sanitize()
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
cd3827ee56
[HB] More sanitize()
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
70de50c11e
[HB] Start sanitize()
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
5fc22e647c
[HB] Remove use of typeof()
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
70e0f2a75e
[HB] Make it all work again
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
23c86aa000
[HB] Use face_t directly instead of ot_layout_t
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
fc6c94002d
[HB] Simplify sub-blob support
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
a26442437a
[HB] Add sub-blobs
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
b28e21b90c
[HB] Rename hb-font.c to hb-font.cc
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
5f5b24f99f
[OT] Rename C++ header files from *.h to *.hh
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
2098a021a8
[HB] Move OT file handling out of ot-layout
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
0ead481a5a
[HB] Port ot-layout to new public API
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
678bed4333
[HB] Add top-level header files
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
2c80296aa5
[HB] Add XXX marks
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
c46f8efd6d
[HB] Rename _duplicate to _copy
...
To be in line with cairo
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
f1ebe44985
[HB] Cleanup TODO
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
f1322e52d5
[HB] Cleanup public buffer structs
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
6d5bb18e93
[OT] Match struct with HB's
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
11fbb5487d
[HB] Port buffert to new object API
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
0cc7bc59ea
[HB] Move typedef's around
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
a12dd324a3
[HB] Add get_reference_count()
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
baec684fde
[HB] Remove glib dependency
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
df66028781
[HB] Assorted compiler macros
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
ba8d94ce33
[HB] Simplify object creation
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
c62b503770
[HB] Add abstract font and face API
...
Not used yet.
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
35a7383c61
[HB] Simplify refcounting functions
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
23af767a44
[HB] Fix for dfont's with multiple faces
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
e97a95f2ea
[HB] Use calloc instead of malloc where feasible
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
0090dc0f67
[HB] Remove hinting setting and use ppem==0 to mean "no hinting"
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
f0954d1e08
[HB] Add a "blob" manager
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
02a370697d
[HB] Move direction to buffer
2009-11-02 14:40:23 -05:00
Behdad Esfahbod
7cda6fa24c
[HB] Rename internal vars
2009-11-02 14:40:23 -05:00
Behdad Esfahbod
b196e6f274
[HB] Fix buffer enlargement. Ouch
2009-11-02 14:40:23 -05:00
Behdad Esfahbod
f9cd1014f8
Apply patch from Jonathan Kew
2009-11-02 14:40:23 -05:00
Behdad Esfahbod
2ebb89d63d
Revert "XX"
...
This reverts commit c939f6aff405ca7b10b1f1538f46148bff719fcb.
2009-11-02 14:40:22 -05:00
Behdad Esfahbod
55520d2af1
XX
2009-11-02 14:40:22 -05:00
Behdad Esfahbod
f53d434b91
[GPOS] Advance buffer cursor in SinglePos lookups. Ouch!
2009-11-02 14:40:22 -05:00
Behdad Esfahbod
e35bbd570a
[HB] Improve buffer. Don't dup out buffer unless out is longer than in
...
That is, we work in-place even for ligatures now.
2009-11-02 14:40:22 -05:00
Behdad Esfahbod
6734ed4b6b
[GPOS] Fix property checking
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
cc83ae1248
[GPOS] Add vertical TODO
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
b69d38e7ea
[HB] Remove useless include
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
6c8108cb58
[GPOS] Remove unused variables
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
09c292e3b6
[HB] Fix glyph properties
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
64e33f008f
[GPOS] Fix PairPos signedness
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
80ea5bd10e
[GPOS] Fix mark matching
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
4189b92aaa
[HB] When looking back/forward, skip marks only
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
1246e41021
[GDEF] Support MarkFilteringSets
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
5130c35e93
[HB] Simplify MarkAttachmentType handling
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
e4b92b85a7
[HB] Support parsing MarkFilteringSets introduced in OpenType 1.6
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
515ce4ceb2
[HB] More de-C++'ization
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
d7df42d7ee
[HB] Start MarkFilteringSet support
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
62964afcec
[HB] Implement get_lig_carets()
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
79420ad9ca
[HB] Add get_attach_points()
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
855720ca47
[HB] Remove more macros
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
c968fc2dc8
[HB] More buffer cleanup
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
88a5f5a49b
[HB] Cleanup buffer
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
347f0b8621
[HB] Clean more
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
d9d2a07f4a
[HB] Remove one XXX, add another
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
6c78683c04
[HB] Update copyright years
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
4497af0069
[HB] Would have helped if I actually knew C++ before using it...
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
cc6c644ff2
[HB] More cleanup
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
20cc86b359
[HB] Simplify Tag
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
3ec0092c5e
[HB] Simplify more
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
6ad8d5f3c7
[HB] Simplify some basic things
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
f96ffd43bc
[HB] simplify macros
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
8e7b30782a
[HB] Update text files
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
fa7d472494
[HB] Remove stale makefile.msc too
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
da2c52abcd
[HB] Remove old code!
...
Goodbye 16 thousand lines of ten-year old code!
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
e5372f1621
[HB] Remove stale TODO mark
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
96908b8984
[HB] Add FixedVersion cast to int
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
957740dd25
[HB] Simplify tag
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
87fcdcbe36
[HB] Remove unused data types
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
5876bf1b73
[HB] Simplify version check in GSUB/GPOS
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
212aba6189
[HB] Check for GDEF/GSUB/GPOS versions
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
a21b5062cc
[HB] Minor
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
a080b1cc2f
[HB] Add TODO items
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
e4efdd80a8
[GDEF] Add some get_carret_value() code
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
9b006bc032
[GPOS] MarkLigPosFormat1
...
GPOS is complete now! Yay!
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
923923feb2
[HB] Remove apply_subtables() again
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
d468f9af5b
[HB] Share Extension lookup code between GSUB and GPOS
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
498f1909e0
[GPOS] Remove printf. MarkMarkPos1 is working
...
The "bug" was in the font.
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
c7d457aa3a
[HB] Ouch. Add files.
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
fe550f4dd8
[GPOS] MarkMarkPosFormat1
...
Still not quite working.
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
357ccde36b
[GPOS] MarkBasePosFormat1
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
377bfc5860
[GPOS] Implement MarkArray interface
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
c18ec2b1d7
[GPOS] Implement Device support in AnchorFormat3
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
fca6a0d158
[GPOS] Remove apply_value() return value
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
fb3b5ccfef
[GPOS] Start MarkBasePosFormat1
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
ee8776d9e0
[HB] Add TODO item
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
c6456ca5cf
[HB] Add TODO item
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
3015c41751
[HB] Remove last dependence on the old code base!
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
5c0adce1cc
[HB] Rename harfbuzz-buffer to hb-buffer
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
b857b49c82
[HB] Remove all references to the old code!
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
e1593a6e62
[GPOS] Finally it's working, up to Cursive
...
Wow, IranNastaliq renders perfectly again!
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
0f7e6b2cea
[GPOS] Fix more brokenness
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
ff05d257dd
[HB] Move lookup types enum into subtable class
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
263bbef767
[GDEF] Simplify Device access
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
60d77cf05f
[HB] Indentation
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
90de3dfff9
[HB] Remove unused methods
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
4c44d830d7
[HB] Indentation
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
d18fd8e3f7
[GPOS] CursivePosFormat1
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
70632add33
[GSUB] PairPosFormat2
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
b24ecbadf4
[GPOS] PairPosFormat1
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
056c7ec1ae
[GPOS] Start filling apply() functions in
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
4fa77d3c43
[HB] Use enums
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
6b54c5d044
[HB] More reference cast simplification
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
eb0dfc830e
[HB] Rename LOOKUP_ARGS to APPLY_ARGS
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
2a8e6accdf
[HB] Internally rename position() and substitute() to apply()
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
f6c8a6eacf
[HB] Simplify casts
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
9c42f05a5c
Switch Pango to new, defunt, GPOS
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
5e5eb0573f
[HB] Start GPOS!
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
64e67f7599
[GSUB] Minor
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
d79cae0b4e
[HB] Minor
2009-11-02 14:40:13 -05:00
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
Behdad Esfahbod
c43562b2a7
[GSUB] Finish ContextSubstFormat1
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
5ee2189622
[HB] Fix typo
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
6b59c9b445
[HB] Add TODO item
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
c5419b6cf2
[HB] Remove DEFINE_NON_INSTANTIABLE
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
0dff25f036
[HB] Remove get_size()
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
25c6c9a3f6
[GSUB] ContextSubst format 1
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
f702295103
[GSUB] Shuffle
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
a83e08f872
[HarfBuzz] Start a TODO file
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
eed05b04eb
[GSUB] minor
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
cdb317bc4e
[GSUB] Towards Context subtitutes
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
c9c6a78aec
[GSUB] Minor refactoring
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
bb3899a579
[GSUB] Implement ligature substitutions
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
38b011a293
[GSUB] Hook new GSUB up in Pango
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
a84e71ad11
[GSUB] Start Ligature subtable support
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
52886ca56b
[GSUB] Implement Alternate subtables
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
4f27ce7e02
[GSUB] Implement Extension subtables
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
83e61ff470
[GSUB] Fix reverse lookup loop like we did in the old code before
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
5a0b791184
[harfbuzz/GSUB] towards a partially working GSUB
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
30bd763fa2
Implement the first substitute()
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
ce48f03946
Merge harfbuzz-ng
2009-11-02 14:38:33 -05:00
Behdad Esfahbod
0e13beeb93
Use git.mk
2009-04-17 17:39:15 -04:00
Behdad Esfahbod
2d15e72c75
Give it a start at GSUB
2009-04-15 19:50:16 -04:00
Behdad Esfahbod
9d870f2a55
Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD
...
Detect TrueType Collections by checking the font data header instead
of checking for "face->num_faces >1".
2009-04-09 13:30:26 -04:00
Behdad Esfahbod
d49caf1f77
[opentype] Protect against illegal access for arrays of length zero
2009-03-02 15:16:11 +03:30
Behdad Esfahbod
66871797af
[opentype] Use size_t instead of uint for malloc wrappers
2009-03-02 14:20:20 +03:30
Behdad Esfahbod
3664e59c52
Fix Bug 572529 – Poor -I ordering can break build
2009-03-02 11:09:29 +03:30
Behdad Esfahbod
aca4d11388
Allocate all array rows in a single ALLOC call. Saves over 100 alloc calls
...
2009-01-31 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gpos.c (Load_Mark2Array),
(Free_Mark2Array):
Allocate all array rows in a single ALLOC call. Saves over 100
alloc calls when loading DejaVu Sans,
2009-02-02 00:13:07 +00:00
Behdad Esfahbod
c561d69c72
Remove ClassDef->Defined field. This is the comment accompanying it:
...
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-open.h:
* pango/opentype/harfbuzz-gdef.c (Make_ClassRange),
(HB_GDEF_Build_ClassDefinition):
* pango/opentype/harfbuzz-gpos.c (Load_PosClassRule),
(Load_ChainPosClassRule):
* pango/opentype/harfbuzz-gsub.c (Load_SubClassRule),
(Load_ChainSubClassRule):
* pango/opentype/harfbuzz-open.c (Load_ClassDef1),
(Load_ClassDef2), (_HB_OPEN_Load_ClassDefinition),
(_HB_OPEN_Load_EmptyClassDefinition),
(_HB_OPEN_Free_ClassDefinition):
Remove ClassDef->Defined field. This is the comment accompanying it:
The `Defined' field is not defined in the OpenType specification
but apparently needed for processing fonts like trado.ttf: This
font refers to a class which contains not a single element. We
map such classes to class 0.
The comment is correct that trado.ttf (MS Traditional Arabic) uses
such classes. However, in my testing I couldn't identify any
problems with the font if the special handling is removed. I also
processed as many fonts as I could get my hand on and trado.ttf was
the only not-totally-broken font hitting the special-case code.
DejaVu fonts hit it too, but I'm sure they do not require the
special-handling code. Most probably, that code introduces bugs
in them.
The special-casing was consuming lots of memory. EIGHT MEGABYTES
for loading DejaVu Sans! While this could be complete fixed, I
decided to remove the special-handling code altogether. I don't
think it will make any real difference, and if it does, we'll fix
fonts. Such hacks will not be in harfbuzz-ng anyway.
Bug originally reported by nsf.
2009-01-29 09:20:08 +00:00
Behdad Esfahbod
9372edd6f0
Use calloc(), instead of malloc()ing and memset()ing.
...
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-impl.c (_hb_alloc): Use calloc(),
instead of malloc()ing and memset()ing.
2009-01-29 09:19:56 +00:00
Behdad Esfahbod
94c21d26ba
Remove old cruft.
...
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-dump-main.c (main): Remove old cruft.
2009-01-29 09:19:43 +00:00
Behdad Esfahbod
0a47c4f78e
Allocate all array rows in a single ALLOC call. Saves over 2000 alloc
...
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gpos.c (Load_BaseArray), (Free_BaseArray):
Allocate all array rows in a single ALLOC call. Saves over 2000
alloc calls when loading DejaVu Sans!
2009-01-29 09:19:20 +00:00
Behdad Esfahbod
549be924bc
Bug 469049 – Fix all compiler warnings
...
2008-12-25 Behdad Esfahbod <behdad@gnome.org>
Bug 469049 – Fix all compiler warnings
* pango-view/viewer-pangocairo.c (render_callback):
* pango/fonts.c (append_field), (pango_font_description_to_string):
* pango/opentype/harfbuzz-dump.c:
* pango/pango-bidi-type.c (pango_log2vis_get_embedding_levels):
* pango/pango-coverage.c (pango_coverage_set):
* pango/pango-markup.c (span_parse_func):
* pango/pango-renderer.c
(pango_renderer_default_draw_error_underline):
* pango/pango-utils.c (pango_scan_string):
* pango/pangocairo-render.c (pango_cairo_renderer_draw_trapezoid),
(draw_error_underline), (pango_cairo_renderer_class_init):
Fix all the remaining warnings.
2008-12-26 02:31:47 +00:00
Behdad Esfahbod
719f9eaa75
Fix more warnings.
...
2008-12-25 Behdad Esfahbod <behdad@gnome.org>
* pango/modules.c (pango_module_load), (script_info_free):
* pango/opentype/harfbuzz-gpos.c (HB_Load_GPOS_Table):
* pango/pango-bidi-type.c:
* pango/pango-coverage.c (pango_coverage_ref),
(pango_coverage_unref):
* pango/pango-engine.c (pango_engine_shape_real_covers),
(fallback_engine_shape), (fallback_engine_covers):
* pango/pango-fontmap.c (pango_font_map_init):
* pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize),
(pango_ot_ruleset_new):
* pango/pangofc-decoder.c (pango_fc_decoder_init),
(pango_fc_decoder_class_init):
* pango/pangofc-font.c (pango_fc_font_find_shaper),
(pango_fc_font_get_coverage):
* pango/pangofc-fontmap.c (pango_fc_font_map_list_families),
(pango_fc_make_pattern), (pango_fc_font_map_get_patterns),
(get_first_font), (_pango_fc_font_map_get_coverage),
(cleanup_font), (pango_fc_font_description_from_pattern),
(pango_fc_face_list_sizes), (pango_fc_family_list_faces):
* pango/pangoft2-fontmap.c (pango_ft2_font_map_get_resolution):
* pango/pangoft2-render.c (pango_ft2_renderer_init),
(pango_ft2_renderer_draw_trapezoid):
* pango/pangoft2.c (pango_ft2_font_get_face),
(pango_ft2_font_real_unlock_face),
(pango_ft2_free_glyph_info_callback):
Fix more warnings.
2008-12-26 02:31:35 +00:00
Behdad Esfahbod
21f7d507f4
Bug 528272 – "Error loading GPOS table 5503" when using katakana
...
2008-10-14 Behdad Esfahbod <behdad@gnome.org>
Bug 528272 – "Error loading GPOS table 5503" when using katakana
characters
* pango/opentype/harfbuzz-gpos.c (Load_Mark2Array): Skip parsing
null anchor tables.
2008-10-15 03:45:29 +00:00
Behdad Esfahbod
a26c6ae705
Fix left-to-right positioning. Reported by Peter Hunter.
...
2008-09-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gpos.c (Position_CursiveChain):
Fix left-to-right positioning. Reported by Peter Hunter.
2008-09-29 22:28:47 +00:00
Behdad Esfahbod
b6c06c56a3
Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
...
2008-06-29 Behdad Esfahbod <behdad@gnome.org>
Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
* pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Fix reverse
loops for type 8 lookups.
2008-06-29 18:30:14 +00:00
Behdad Esfahbod
c44733596c
[hb-ot-layout] Add proper namespace to accessors
2008-02-18 21:33:22 -05:00
Behdad Esfahbod
5722567209
Fix typo, add TODOs
2008-02-18 20:58:39 -05:00
Behdad Esfahbod
4a26ea408c
Finish script, language, and feature public API
2008-01-29 17:42:11 -05:00
Behdad Esfahbod
706ab25a4c
Add script and language public getter API
2008-01-28 05:58:50 -05:00
Behdad Esfahbod
40a81314fa
Make main.cc compile again, which means finished getter API
2008-01-28 02:30:48 -05:00
Behdad Esfahbod
e50c3978d3
Rename HB_OT_Layout to hb_ot_layout_t
2008-01-28 00:16:49 -05:00
Behdad Esfahbod
dfa8119651
Rename hb_ot_layout_create() to hb_ot_layout_create_for_data()
2008-01-28 00:12:21 -05:00
Behdad Esfahbod
54e5aac5e2
GDEF completely working now
2008-01-27 21:21:37 -05:00
Behdad Esfahbod
6f425b1179
[GDEF] Finish internal API
2008-01-24 19:39:49 -05:00
Behdad Esfahbod
590d55cbb9
[GDEF] Finish public API
2008-01-24 19:15:35 -05:00
Behdad Esfahbod
aff831ed67
Implement glyph properties
2008-01-24 06:03:45 -05:00
Behdad Esfahbod
ead428d7a0
More public api
2008-01-24 04:09:46 -05:00
Behdad Esfahbod
fd92a3dde3
Starting public interface
2008-01-24 03:36:11 -05:00
Behdad Esfahbod
7d6b95b000
Remove unused macro
2008-01-24 04:42:24 +00:00
Behdad Esfahbod
7586089c6f
Minor
2008-01-23 18:02:28 -05:00
Behdad Esfahbod
aefaafe5bc
Minor renaming
2008-01-23 17:25:29 -05:00
Behdad Esfahbod
a16ecbf056
Initial gsub stub
2008-01-23 17:01:55 -05:00
Behdad Esfahbod
64aef3a549
Add copyright notices.
2008-01-23 16:14:38 -05:00
Behdad Esfahbod
12360f7c15
Minor cleanup, add LIKELY and UNLIKELY annotations
2008-01-23 15:50:38 -05:00
Behdad Esfahbod
8dd1c8b8d6
Clean up file names, add namespace
2008-01-23 05:02:14 -05:00
Behdad Esfahbod
1f437e6f47
Make all code NULL-free and assert-free
2008-01-23 04:55:38 -05:00
Behdad Esfahbod
600e5eb80f
Define get_for_data() factories
2008-01-23 02:01:37 -05:00
Behdad Esfahbod
b9d7688fb3
Finish and test GDEF
2008-01-23 01:38:10 -05:00
Behdad Esfahbod
303fe62824
Misc cleanup
2008-01-23 00:20:48 -05:00
Behdad Esfahbod
17843245fd
Remove COPYING.GPL and COPYING.FTL that are no longer there.
...
2008-01-16 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/Makefile.am: Remove COPYING.GPL and COPYING.FTL that
are no longer there.
2008-01-16 20:39:29 +00:00