Behdad Esfahbod
f0010dfd01
[ot] Hide default-ignorables before finishing off positioning
...
For example, fixes the following sequence with Arial XP:
628 25cc 651 25cc 64e 3a 20 628 651 34f 64e
628 25cc 64e 25cc 651 3a 20 628 64e 34f 651
Discovered as part of:
https://bugs.freedesktop.org/show_bug.cgi?id=85873
2015-07-22 17:36:23 +01:00
Behdad Esfahbod
376d587f36
Implement more granular cluster-merging
...
TODO: Documentation.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71445
2015-07-22 16:51:12 +01:00
Behdad Esfahbod
a60e2cfa39
[ot] Don't rely on cluster numbers for ensure_native_direction()
2015-07-22 15:49:08 +01:00
Behdad Esfahbod
701112dad9
[ot] Simplify form_clusters()
2015-07-22 15:42:20 +01:00
Behdad Esfahbod
7b8b63adc5
[ot] Don't mirror character if font doesn't support mirrored character!
2015-07-22 15:24:26 +01:00
Behdad Esfahbod
97d7c3a100
[graphite2] Fix bunch of stuff
...
Based on patch from Martin Hosken, with review from Jonathan and I.
2015-07-22 14:28:25 +01:00
Behdad Esfahbod
ea7f8414e3
[graphite2] Enlarge buffer for output glyphs!
2015-07-22 13:53:45 +01:00
Behdad Esfahbod
9cd59db1af
[USE] Implement topographical features for non-Arabic-joining scripts
...
This works per-syllable as per the spec, but we think it should be per
spacing/base/??? glyph instead.
2015-07-22 13:31:07 +01:00
Behdad Esfahbod
ecb0b24ef3
Use foreach_cluster in Indic shaper
2015-07-22 12:02:09 +01:00
Behdad Esfahbod
56f71ff988
Use foreach_syllable in Myanmar shaper
2015-07-22 11:58:11 +01:00
Behdad Esfahbod
ac596511a8
Add foreach_syllable
...
Use it in USE.
2015-07-22 11:54:02 +01:00
Behdad Esfahbod
8ba9e68968
[USE] Do Arabic-like shaping
2015-07-22 11:17:34 +01:00
Behdad Esfahbod
9daf2dfb6b
Add hb-ot-shape-complex-arabic-private.hh
2015-07-22 10:49:13 +01:00
Behdad Esfahbod
a51a661fe1
[USE] Only reorder the first component of a split left mark
2015-07-21 18:24:21 +01:00
Behdad Esfahbod
a08a278b15
[USE] Don't compose split matras
...
Same logic as in Indic shaper.
2015-07-21 18:09:40 +01:00
Behdad Esfahbod
21cb08a417
Remove unused SEA shaper
2015-07-21 17:47:06 +01:00
Behdad Esfahbod
db1e9cdd41
Retire SEA shaper in favor of USE
2015-07-21 17:46:06 +01:00
Behdad Esfahbod
87dde9c647
[USE] Only use USE shaper if script system is not DFLT
...
Same logic as Indic and SEA.
2015-07-21 17:31:43 +01:00
Behdad Esfahbod
29832d797f
Route misc untested scripts through USE shaper instead of Indic
...
These were never tested with Indic shaper, and indeed wouldn't work there
because they didn't have their viramas and other config defined. They are
all also supported by MS through USE, so route them there.
2015-07-21 17:24:18 +01:00
Behdad Esfahbod
40c4a991c7
[USE] Implement dotted-circle
...
This makes USE feature-complete as far as the Indic-like features
are concerned.
2015-07-21 17:14:54 +01:00
Behdad Esfahbod
7ce03ebe7c
[USE] Move pref
2015-07-21 16:55:26 +01:00
Behdad Esfahbod
2d4b62ead9
[USE] Fix-up variation selectors and word joiner in table
2015-07-21 16:46:37 +01:00
Behdad Esfahbod
ad7178227f
[USE] Use a couple warnings
2015-07-21 16:43:27 +01:00
Behdad Esfahbod
a85c4da9b1
[USE] Move rphf
2015-07-21 16:07:10 +01:00
Behdad Esfahbod
5b5617e066
Add FLAG_UNSAFE()
...
Unused right now.
2015-07-21 15:52:15 +01:00
Behdad Esfahbod
f8160a4959
Add FLAG_SAFE() for values known to be small-enough
...
And add check to FLAG()
2015-07-21 15:50:02 +01:00
Behdad Esfahbod
366aeaad00
Add note re ASSERT_STATIC_EXPR_ZERO()
2015-07-21 15:45:48 +01:00
Behdad Esfahbod
d6adca9fbb
Remove unused macro ASSERT_STATIC_EXPR()
2015-07-21 15:17:27 +01:00
Behdad Esfahbod
1025e1a9e7
Use unsigned in FLAG()
2015-07-21 15:05:35 +01:00
Behdad Esfahbod
cf59c7589c
[USE] Use use_category() for rphf/pref memory
2015-07-21 14:51:45 +01:00
Behdad Esfahbod
595936ec25
[USE] Hook of rphf and pref custom processing
...
Still no reordering.
2015-07-21 14:15:35 +01:00
Behdad Esfahbod
ba72801325
[USE] Add CGJ to table
2015-07-21 11:57:23 +01:00
Behdad Esfahbod
4febed61ed
[USE] Set up features
2015-07-21 10:38:48 +01:00
Behdad Esfahbod
52a9577956
[USE] Hook up new scripts to USE shaper
...
Don't reroute scripts that we were routing to other shapers
before (just yet).
2015-07-21 10:02:04 +01:00
Behdad Esfahbod
b4c0829bc1
[USE] Remove unused Unicode data enums from USE C++ side
2015-07-21 09:31:19 +01:00
Behdad Esfahbod
44910cef62
[USE] Finish converting Unicode positional categories to USE
...
Even compiles.
2015-07-20 18:01:10 +01:00
Behdad Esfahbod
ad72555252
[USE] Map from Unicode data to USE syllabic categories
...
Positional sub-categories not applied yet.
2015-07-20 17:00:06 +01:00
Behdad Esfahbod
20e246e674
[USE] Start moving Unicode-to-USE mapping into Python code
2015-07-20 15:56:19 +01:00
Behdad Esfahbod
eb74535cc2
[USE] Fix Number clusters
...
The spec wrongly has "H" where "HN" is meant.
2015-07-20 15:33:25 +01:00
Behdad Esfahbod
a9663958fe
[USE] Start putting together the shaper body
2015-07-20 14:24:55 +01:00
Behdad Esfahbod
e0eabd7f67
[USE] Put a Ragel machine together
...
Grammar from the spec!
2015-07-20 13:50:38 +01:00
Behdad Esfahbod
fd74b939b1
Minor
2015-07-20 13:30:45 +01:00
Behdad Esfahbod
5e5c8560cc
[USE] Minor optimization of USE table
2015-07-20 12:01:20 +01:00
Behdad Esfahbod
14b12f92a9
[USE] Add Kharoshti test data from Unicode proposal
2015-07-20 11:57:44 +01:00
Behdad Esfahbod
c48ff28852
[USE] Build Universal Shaping Engine data table from Unicode 8 files
2015-07-20 11:46:17 +01:00
Behdad Esfahbod
e2c95116e1
[USE] Add Universal Shaping Engine to Makefile
2015-07-20 11:33:27 +01:00
Behdad Esfahbod
41a29af805
Update Arabic shaping table for Unicode 8.0
2015-07-15 01:39:57 +01:00
Behdad Esfahbod
64a2726e2c
Add Unicode 8.0 scripts
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1183209
2015-07-15 01:36:39 +01:00
Behdad Esfahbod
9ae156b768
Fix pragma usage
...
https://bugs.freedesktop.org/show_bug.cgi?id=91228
Commit cdcdfe61b9
changed two `#pragma
message` to `#pragma error` in hb-unicode.cc, however MSVC uses #error,
just like the #else branch. `#pragma error` is an unknown pragma so
MSVC does not fail the build because of it, which I believe was the
intention of that commit.
If it's meant to be an #error, then the #ifdef for _MSC_VER can be
removed entirely.
2015-07-05 22:43:17 +01:00
Behdad Esfahbod
5f13bbd9d4
When removing default-ignorables, merge clusters
...
Fixes test-shape, and:
https://code.google.com/p/chromium/issues/detail?id=497578
2015-06-19 13:31:49 -07:00