Behdad Esfahbod
8f0b64fb69
Minor
13 years ago
Behdad Esfahbod
743807a3ce
[Indic] Apply Indic features
...
Find the base consonant and apply basic Indic features accordingly.
Nothing complete, but does something for now. Specifically:
no Ra handling right now, and no ZWJ/ZWNJ.
Number of failing shape-complex tests goes from 174 down to 125.
Next: reorder matras.
13 years ago
Behdad Esfahbod
1a1b501315
Minor
13 years ago
Behdad Esfahbod
dd5546de15
Minor
13 years ago
Behdad Esfahbod
9f9bcceca6
Register buffer vars in Indic shaper
13 years ago
Behdad Esfahbod
be09bf6b79
Oops. This should have gone into the previous commit
13 years ago
Behdad Esfahbod
b65c06025d
Formalize buffer var allocations
13 years ago
Behdad Esfahbod
a9ad3d3460
Move more code around
...
Buffer var allocation coming into shape
13 years ago
Behdad Esfahbod
cc06c243d8
Streamline debugging infrastructure even more
13 years ago
Behdad Esfahbod
43ff203d8e
Use variadic macros for debugging
...
Looks *so* much nicer!
13 years ago
Behdad Esfahbod
decd4e3e16
Add sugar syntax for debug messages
...
Buffer debugging coming soon.
13 years ago
Behdad Esfahbod
3a81b1db89
Minor, fix leak from my previous refactorings
13 years ago
Behdad Esfahbod
f4a579bc42
Add internal API for buffer var allocation
13 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