Behdad Esfahbod
43ff203d8e
Use variadic macros for debugging
...
Looks *so* much nicer!
14 years ago
Behdad Esfahbod
decd4e3e16
Add sugar syntax for debug messages
...
Buffer debugging coming soon.
14 years ago
Behdad Esfahbod
3a81b1db89
Minor, fix leak from my previous refactorings
14 years ago
Behdad Esfahbod
f4a579bc42
Add internal API for buffer var allocation
14 years ago
Behdad Esfahbod
651e8dd79e
Start cleaning up buffer var allocation
...
I've messed up a lot of stuff recently, different parts of the
shaping process are stumbling on eachother's toes because
manually tracking what's in which buffer var is hard. I'm
going to add some internal API to track those such that mistakes
are discovered as soon as they are introduced.
14 years ago
Behdad Esfahbod
c86f932015
Move code around
14 years ago
Behdad Esfahbod
18c42850c9
Shrink space used for ligature ids
...
This frees 16bits in the glyph_info struct during the ot_layout process.
We can use the freed space in the shapers now.
14 years ago
Behdad Esfahbod
d8787493c9
Minor
14 years ago
Behdad Esfahbod
c311d85208
Keep Unicode props updated as we go so we avoid a scan later
14 years ago
Behdad Esfahbod
5389ff4dbc
Implement the Unicode Canonical Composition algorithm
...
Fallback normalization is complete and working now!
14 years ago
Behdad Esfahbod
dcdc51cdc0
Handle singleton decompositions
14 years ago
Behdad Esfahbod
34c22f8168
Implement Unicode Canonical Reordering Algorithm
14 years ago
Behdad Esfahbod
4ff0d2d9df
Decomposition works now!
14 years ago
Behdad Esfahbod
468e9cb25c
Move buffer methods into the object
14 years ago
Behdad Esfahbod
45412523dc
More normalization kick
14 years ago
Behdad Esfahbod
63c0ef4a07
Fix decompose() implementations to work with non-starter non-composables
...
Add tests.
14 years ago
Behdad Esfahbod
5d90a342e3
Document normalization design
14 years ago
Behdad Esfahbod
02cdf743c2
Add prefer_decomposed() complex-shaper callback
...
This allows the Indic shaper to request decomposed characters. This will
handle split matra for free. Other shapers prefer precomposed
characters.
14 years ago
Behdad Esfahbod
d6b9c6d200
More kicking
14 years ago
Behdad Esfahbod
192445aef2
Remove intermittent_glyph()
...
Lets not worry about performance for now...
14 years ago
Behdad Esfahbod
d63adfc7d0
No need to handle variation-selectors seperately, they are GC=Mn
14 years ago
Behdad Esfahbod
aa7264123a
Only form clusters if we are reversing
...
This produces more accurate cluster mappings. Cluster mappings are
minimal now. Combining marks get their own cluster value most of
the time.
14 years ago
Behdad Esfahbod
5c6f5982d7
Towards normalization
14 years ago
Behdad Esfahbod
ad903e66b1
s/COMBINING_MARK/SPACING_MARK/ here too. Oops!
14 years ago
Behdad Esfahbod
cf7f43ec33
Remove stale comment
14 years ago
Behdad Esfahbod
54d1a0d2b2
Form clusters before ensuring native direciton
...
This is essential as ensure_native_direction uses cluster info that
is set by form_clusters().
14 years ago
Behdad Esfahbod
9111b21ef9
Add _hb_buffer_output_glyph() and _hb_buffer_skip_glyph()
14 years ago
Behdad Esfahbod
655586fe5e
Towards normalization
14 years ago
Behdad Esfahbod
49741c8633
Include variation-selectors in cluster calculation
14 years ago
Behdad Esfahbod
dd89d958c1
Fix cluster calculation for non-LTR text
14 years ago
Behdad Esfahbod
4a68684654
When forming clusters, participate all mark types
14 years ago
Behdad Esfahbod
5157e12a55
Rename HB_UNICODE_GENERAL_CATEGORY_COMBINING_MARK to HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK
...
Spacing_Mark is the current Unicode long-name for this property value.
The previous name was wrongly carried from glib.
14 years ago
Behdad Esfahbod
7b08b0a7f2
Minor
14 years ago
Behdad Esfahbod
498e1a9be6
[icu] Implement compose()/decompose()
14 years ago
Behdad Esfahbod
ffd4a436f7
Add tests for compose()/decompose()
...
Adjust glib fallback implementation.
The tests are not hooked up for ICU yet.
14 years ago
Behdad Esfahbod
fca0923b04
Minor
14 years ago
Behdad Esfahbod
26b6024962
[glib] Use g_unicode_script_to/from_iso15924() if available
14 years ago
Behdad Esfahbod
22fdc66712
[glib] Add compose() and decompose() implementations with fallback
14 years ago
Behdad Esfahbod
a54a5505a3
Minor
14 years ago
Behdad Esfahbod
23db8d5c92
[test] Work around glib <= 2.30 API
14 years ago
Behdad Esfahbod
22989c5ffc
Distribute hb-ot-shape-complex-indic-machine.rl
14 years ago
Behdad Esfahbod
f6fd3780e1
Let shapers decide when to apply ccmp and locl
...
Instead of always applying those two features before the complex shaper,
let the complex shaper decide whether they should be applied first.
Also add stub for Indic's final_reordering().
14 years ago
Behdad Esfahbod
c4641723fb
[API] Add compose() and decompose() unicode funcs, rename other ones
...
Add compose() and decompose() unicode funcs. These implement
pair-wise canonical composition/decomposition.
The glib/icu implementations are lacking for now. We are adding
API for this to glib, but I cannot find any useful API in ICU.
May end of implementing these in-house.
Changed all unicode_funcs callback names to remove the "_get" part.
Eg, hb_unicode_get_script_func_t is now hb_unicode_script_func_t,
and hb_unicode_get_script() is hb_unicode_script() now.
14 years ago
Behdad Esfahbod
d05dded167
More code generation through preprocessor
14 years ago
Behdad Esfahbod
891c4755ba
Humm, undo some shuffling
...
In preparation for adding more advanced unicode funcs.
14 years ago
Behdad Esfahbod
4b6317c4f4
More code shuffling
14 years ago
Behdad Esfahbod
3361c9a323
Minor
14 years ago
Behdad Esfahbod
76f76812ac
Shuffle code around, remove shape_plan from complex shapers
14 years ago
Behdad Esfahbod
e88bff9b4d
Minor, use function typedefs
14 years ago
Behdad Esfahbod
359dcaa0d3
Update copyright headers
14 years ago