Behdad Esfahbod
a4bef84e37
[util] Make hb-shape err if output-format is not understood
...
And list supported formats.
12 years ago
Behdad Esfahbod
3cec819d39
Make the OT shaper default, even if CoreText or Uniscribe is enabled
12 years ago
Behdad Esfahbod
072ae7a982
Add hb_buffer_serialize_list_formats()
12 years ago
Behdad Esfahbod
f9edf16725
Add buffer serialization / deserialization API
...
Two output formats for now: TEXT, and JSON. For example:
hb-shape --output-format=json
Deserialization API is added, but not implemented yet.
12 years ago
Behdad Esfahbod
fd0de881f4
Avoid C++ undefined behavior
...
https://bugzilla.mozilla.org/show_bug.cgi?id=810823
12 years ago
Behdad Esfahbod
f41dc2d35b
Fix undefined behavior in Indic dottedcircle
...
Chromium Issue 158998: Conditional jump in harfbuzz-ng
http://code.google.com/p/chromium/issues/detail?id=158998
12 years ago
Behdad Esfahbod
1eb3e94fe9
[Thai] Implement PUA-based fallback shaping
...
As explained here:
http://linux.thai.net/~thep/th-otf/shaping.html
Our output now matches Uniscribe for old fonts (eg. XP Tahoma) with no
Thai GSUB table.
12 years ago
Behdad Esfahbod
851784f837
Improve shaper selection
12 years ago
Behdad Esfahbod
f3584d3a3a
Add test cases for Thai PUA shaping
12 years ago
Behdad Esfahbod
43f04a7456
Move Thai shaper into a separate file
12 years ago
Behdad Esfahbod
ba82325b7a
Add note re 'Phags-pa letter U+A872, which is Joining_Type=L
12 years ago
Behdad Esfahbod
d469fadce8
[Indic] Exchange abort() for assert()
12 years ago
Behdad Esfahbod
0f80a89de9
Don't route Kharoshthi through the Indic shaper
...
It's a simple, right-to-left, script.
12 years ago
Behdad Esfahbod
e67072bb17
[Indic] Handle overstruck matra position
12 years ago
Behdad Esfahbod
7e99e4f074
Reposition Lao marks
...
Lao marks are center-aligned, unlike Thai ones.
12 years ago
Behdad Esfahbod
865745b5b8
Don't do fallback positioning for Indic and Thai shapers
12 years ago
Behdad Esfahbod
981748cb2e
[Indic] If Khmer fonts have a 'liga' feature, use generic shaper
...
Seems to produce more coherent results than trying the Indic shaper on
them. I'm looking at you, Kh-* fonts...
12 years ago
Behdad Esfahbod
6b19fa4862
Adjust diff rule for the new hb-shape output format
12 years ago
Behdad Esfahbod
dde5506fd9
[Indic] Don't move virama with left matra
...
This is important for the Sinhala U+0DDA split matra since it decomposes
to U+0DD9,U+0DCA where U+0DD9 is a left matra and U+0DCA is the virama.
We don't want to move the virama with the left matra.
TEST: U+0D9A,U+0DDA
Note that we were already doing this in the Uniscribe bug compatibility
mode. We now do it all the time.
12 years ago
Behdad Esfahbod
82c4d9880a
Add Sinhala test case for split matra U+0DDA
12 years ago
Behdad Esfahbod
d04b128531
Fix test
12 years ago
Behdad Esfahbod
92f9bfed42
Minor
12 years ago
Behdad Esfahbod
66ac2ff32e
API change: Remove "mask" from hb_buffer_add()
...
I don't expect anybody using hb_buffer_add(), so this shouldn't break
anyone's code.
12 years ago
Behdad Esfahbod
407f80d625
[util] Add --bot / --eot / --preserve-default-ignorables
12 years ago
Behdad Esfahbod
78d41d8d69
Minor
12 years ago
Behdad Esfahbod
321f73c16e
[util] Add --text-before and --text-after to hb-shape / hb-view
...
Use with Arabic, for example, to see the effect on joining.
12 years ago
Behdad Esfahbod
e13f8d280b
Fix UTF-8 backward iteration
...
Ouch!
12 years ago
Behdad Esfahbod
5669a6cf41
[Arabic] Fix post-context handling
...
Ouch!
12 years ago
Behdad Esfahbod
0c7df22228
Add buffer flags
...
New API:
hb_buffer_flags_t
HB_BUFFER_FLAGS_DEFAULT
HB_BUFFER_FLAG_BOT
HB_BUFFER_FLAG_EOT
HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES
hb_buffer_set_flags()
hb_buffer_get_flags()
We use the BOT flag to decide whether to insert dottedcircle if the
first char in the buffer is a combining mark.
The PRESERVE_DEFAULT_IGNORABLES flag prevents removal of characters like
ZWNJ/ZWJ/...
12 years ago
Behdad Esfahbod
1c7e55511a
Minor fix
...
Ouch
12 years ago
Behdad Esfahbod
c8d4f8b0fe
Minor
12 years ago
Behdad Esfahbod
82ecaff736
Add hb_buffer_clear()
...
Which is like _reset(), but does NOT clear unicode-funcs.
12 years ago
Behdad Esfahbod
da43a92b04
0.9.6
12 years ago
Behdad Esfahbod
0736915b8e
[Indic] Decompose Sinhala split matras the way old HarfBuzz / Pango did
...
Had to do some refactoring to make this happen...
Under uniscribe bug compatibility mode, we still plit them
Uniscrie-style, but Jonathan and I convinced ourselves that there is no
harm doing this the Unicode way. This change makes that happen, and
unbreaks free Sinhala fonts.
12 years ago
Behdad Esfahbod
c8149ca85e
[hb-shape] Adjust postioning output format
...
1. If there is any offset (x or y), print out both x and y offsets.
2. Always print out the advance in the major direction of the buffer.
Ie. even for zero-advance glyphs, print a "+0". This is more intuitive.
12 years ago
Behdad Esfahbod
6fd5335622
[Indic] Update auto-generated Indic machine to reflect previous commit
12 years ago
Behdad Esfahbod
9cac1338c4
[Indic] Allow Consonant_Medial's after Consonant's
...
Mostly affects Myanmar, but also Tai Tham, Javanese, and Cham. The
latter three are untested (no fonts!).
12 years ago
Behdad Esfahbod
d187099cba
[Indic] Categorize Myanmar "tone marks" as nuktas
12 years ago
Behdad Esfahbod
8173f23f3f
[Indic] Add config for Myanmar
12 years ago
Behdad Esfahbod
9e92978c8a
[Indic] Route "new" Myanmar tag through the Indic shaper
...
Windows 8 adds a Myanmar shaper using the 'mym2' tag. Route that
through the Indic shaper. It's still very broken, but at least this
does NOT break old-style Myanmar shaping using the generic shaper.
12 years ago
Behdad Esfahbod
5ab3855f81
Choose shaper based on chosen OT script tag
...
For Arabic and Indic shapers, if the font doesn't have a script system
for the script, use default shaper.
Make an exception for Arabic script since we have fallback logic for
that one.
12 years ago
Behdad Esfahbod
9b37b4c580
Make planner available to complex shaper choosing logic
12 years ago
Behdad Esfahbod
6fddf2d739
Refactoring ot-map building to make chosen script available earlier
12 years ago
Behdad Esfahbod
f17ed8116e
Minor TODO
12 years ago
Behdad Esfahbod
de796a6fb9
Add "new" Myanmar OT Script tag
...
Windows 8 added support for Myanmar shaping using the "mym2" script tag,
even though Windows never supported the old "mymr" tag.
12 years ago
Behdad Esfahbod
27f52dc3f6
Add Myanmar tests from UTN#11
12 years ago
Behdad Esfahbod
e9334ce97b
Break build when ragel is needed and missing
12 years ago
Behdad Esfahbod
dba186711e
[Indic] Make more room in the table
...
To be used in upcoming commits.
12 years ago
Behdad Esfahbod
c4be991743
Typo
12 years ago
Behdad Esfahbod
56be677781
[Indic] Port 'pref' logic to look into font tables
...
...instead of using a hardcoded list of Ra characters.
12 years ago