Behdad Esfahbod
a6c1e040e5
Improve check for Windows platforms
...
Instead of checking for compiler, check for platform.
2013-02-12 15:31:58 -05:00
Behdad Esfahbod
9e1f80ab3e
[SEA] Treat Consonant_Final like Consonant_Medial
2013-02-12 15:28:21 -05:00
Behdad Esfahbod
bab02d339f
Rename HB_OT_INDIC_OPTIONS env var to HB_OPTIONS
...
The Myanmar shaper now respects the uniscribe-bug-compatibility
option too.
2013-02-12 15:26:45 -05:00
Behdad Esfahbod
3a83d33ec0
Add South-East Asian shaper
...
Handles Tai Tham, Cham, and New Tai Lue for now.
2013-02-12 12:14:10 -05:00
Behdad Esfahbod
5676d5d527
[Indic] Make sure New Tai Lue works!
2013-02-12 10:31:14 -05:00
Behdad Esfahbod
568000274c
Adjust mark advance-width zeroing logic for Myanmar
...
Before, we were zeroing advance width of attached marks for
non-Indic scripts, and not doing it for Indic.
We have now three different behaviors, which seem to better
reflect what Uniscribe is doing:
- For Indic, no explicit zeroing happens whatsoever, which
is the same as before,
- For Myanmar, zero advance width of glyphs marked as marks
*in GDEF*, and do that *before* applying GPOS. This seems
to be what the new Win8 Myanmar shaper does,
- For everything else, zero advance width of glyphs that are
from General_Category=Mn Unicode characters, and do so
before applying GPOS. This seems to be what Uniscribe does
for Latin at least.
With these changes, positioning of all tests matches for Myanmar,
except for the glitch in Uniscribe not applying 'mark'. See preivous
commit.
2013-02-12 09:44:57 -05:00
Behdad Esfahbod
99749ca8e0
[Myanmar] Add note re Uniscribe NOT applying 'mark'
2013-02-12 09:44:35 -05:00
Behdad Esfahbod
b842780138
Minor
2013-02-11 17:02:17 -05:00
Behdad Esfahbod
419c933ed1
[Myanmar] Fix handling of Punctuation and Symbol types
...
Testing with "clusters" now on par with testing without them. 15
failures both.
2013-02-11 16:16:16 -05:00
Behdad Esfahbod
0572c1410a
[Myanmar] Fixup handling of joiners and GB characters
2013-02-11 16:16:07 -05:00
Behdad Esfahbod
1c8654ead4
[Myanmar] Prevent reordering between Asat and Dot below
...
Implemented as a hack for now. Myanmar failures down from 23 to 15.
MYANMAR: 1123868 out of 1123883 tests passed. 15 failed (0.00133466%)
The remaining 15 cases are all where the syllable is wrong according to
the OpenType spec. We insert dottedcircle. Uniscribe fails to do that,
but it also fails to reorder the prebase-reordering medial-Ra. So it
gets it wrong.
2013-02-11 14:28:59 -05:00
Behdad Esfahbod
98628cac9f
Add Win8-style Myanmar shaper
...
Myanmar failures down from 51% to 0.00204648%!
MYANMAR: 1123860 out of 1123883 tests passed. 23 failed (0.00204648%)
2013-02-11 14:20:08 -05:00
Behdad Esfahbod
1df5644958
Minor
2013-02-11 14:18:09 -05:00
Behdad Esfahbod
54f7b4d9ec
[OTLayout] Respect lookup-flags skipping over non-mark glyphs
...
Before, when matching ligatures, we never skipping over base / liga
glyphs even if that was what the LookupFlags asked for.
Fixed now. We carefully reviewed all instances of this, and tested with
Amiri as well as some Indic scripts, and are confident that this should
NOT break anyone's fonts. It's also how Uniscribe does it, from what
we can tell.
2013-02-11 13:27:17 -05:00
Behdad Esfahbod
9082efc4aa
[OTLayout] s/mark_skipping/skipping/
...
In aticipation of upcoming changes.
2013-02-11 13:14:56 -05:00
Behdad Esfahbod
9621e0ba29
[Indic] Fix bug introduced in 8b217f5ac5
...
Was breaking reph formation logic when the Ra is the only consonant.
Devanagari regression fixed. Down to 57 failures again. Ouch.
2013-02-11 12:59:36 -05:00
Behdad Esfahbod
6e74c64211
Improve normalization heuristic
...
Before, for most scripts, we were not trying to recompose two characters
if the second one had ccc=0. That fails for Myanmar where U+1026
decomposes to U+1025,U+102E, both of which have ccc=0. However, we do
want to try to recompose those. We now check whether the second is a
mark, using general category instead.
At the same time, remove optimization that was conflicting with this.
[Let the Ngapi hackfest begin!]
2013-02-11 12:59:00 -05:00
Behdad Esfahbod
adff377815
Revert "[Indic] Import ragel-generated Indic machine in git"
...
This reverts commit fab7a71f11
.
Conflicts:
src/hb-ot-shape-complex-indic-machine.hh
Keeping that generated file in-tree causes problems with processes like
tinderbox that automatically fetch and build harfbuzz. It's harder to
bootstrap harfbuzz now (as was previously), but I'm willing to give this
another chance and see how it goes.
2013-02-06 23:43:27 -05:00
Behdad Esfahbod
9de5f98f36
Bug 60035 - intermittent make install failure on hb-version.h
2013-02-04 23:28:22 -05:00
Behdad Esfahbod
6c1e8b614c
Bug 59637 - check-exported-symbols.sh & check-internal-symbols.sh fail on mips/mipsel
2013-02-04 23:24:16 -05:00
Behdad Esfahbod
bafdf3d983
Merge check-internal-symbols.sh and check-exported-symbols.sh
2013-02-04 23:06:50 -05:00
Behdad Esfahbod
e9171af55c
Bug 60053 - hb-common.cc:181:6: warning: ‘void free_langs()’ defined but not used
2013-01-29 22:45:00 -05:00
Behdad Esfahbod
eb45c0a2fb
Minor
2013-01-16 22:07:50 -06:00
Behdad Esfahbod
52c8d1226f
Minor
2013-01-14 13:51:46 -06:00
Behdad Esfahbod
f88d3bd7e4
Fix build with Sun compiler
2013-01-14 00:33:58 -06:00
Behdad Esfahbod
08b29c0809
Revert "Minor"
...
This reverts commit 0a49235701
.
Enables code on more compilers.
2013-01-14 00:32:12 -06:00
Behdad Esfahbod
e78463211e
Fix linking with non-gcc compilers
2013-01-14 00:27:21 -06:00
Behdad Esfahbod
de649f07f1
Fix residuals from fontconfig changes
2013-01-14 00:26:43 -06:00
Behdad Esfahbod
2dcb333f52
Add atomic ops for Solaris
...
Based on fontconfig patch from Raimund Steger.
2013-01-10 01:18:10 -06:00
Behdad Esfahbod
69fd6e157c
Fix crasher during multi-thread shaper data creation
...
Sample crash:
0 _hb_graphite2_shaper_face_data_destroy (data=0xffffffffffffffff)
at ../../src/hb-graphite2.cc:129
1 0x00007ffff4271d7d in hb_graphite2_shaper_face_data_ensure (
face=<optimized out>) at ../../src/hb-shaper-list.hh:35
2 hb_shape_plan_plan (shaper_list=<optimized out>, num_user_features=0,
user_features=0x0, shape_plan=0xf7b490) at ../../src/hb-shaper-list.hh:35
3 hb_shape_plan_create (face=<optimized out>, props=<optimized out>,
user_features=0x0, num_user_features=0, shaper_list=<optimized out>)
at ../../src/hb-shape-plan.cc:108
4 0x00007ffff4272c93 in hb_shape_plan_create_cached (face=0x10cf2b0,
props=0x11980d8, user_features=0x0, num_user_features=<optimized out>,
shaper_list=0x0) at ../../src/hb-shape-plan.cc:283
2013-01-10 00:03:36 -06:00
Behdad Esfahbod
ecd454b3cd
[Indic] In old-spec shaping, don't move viramas around if seq ends with one
...
For example: u0c9a u0ccd u0c9a u0ccd with Lohit. See:
https://bugs.freedesktop.org/show_bug.cgi?id=59118
2013-01-08 18:09:46 -06:00
Behdad Esfahbod
e95e031b56
[GPOS] If an Anchor offset is NULL, return false
...
If in a MarkPos table, a base has no anchor for a particular mark class,
return NULL such that the subsequent subtables get a chance at it.
Test case:
hb-shape ./EBGaramond12-Regular.otf ἂ --features="ss20","smcp"
2013-01-08 16:17:06 -06:00
Behdad Esfahbod
1172dc7362
Rename hb_buffer_clear() to hb_buffer_clear_contents()
...
The previous name was clashing with harfbuzz.old. There are systems
that need to link both...
Clash-free now again.
2013-01-07 16:46:37 -06:00
Behdad Esfahbod
7b912c1936
Remove a few unnecessary const's
...
Apparently helps with MSVC compilation.
2013-01-04 01:25:27 -06:00
Behdad Esfahbod
f0c82410db
[OTLayout] Always collect default language system in collect_lookups
...
Not sure if this is the most desired behavior. It's the most easily
defined though.
2013-01-03 00:07:16 -06:00
Behdad Esfahbod
15e9e4e1dd
[OTLayout] Fix feature iteration in collect_lookups
...
Previous logic was just wrong.
2013-01-03 00:04:40 -06:00
Behdad Esfahbod
733e8c0d7b
[OTLayout] Whitespace
2013-01-03 00:00:23 -06:00
Behdad Esfahbod
d37ae38047
[OTLayout] Handle required_feature_index in collect_lookups
2013-01-02 23:57:36 -06:00
Behdad Esfahbod
11fba79ee9
[OTLayout] Fix various introspection issues with ClassDef's
...
As reported by Jonathan Kew.
2013-01-02 23:36:37 -06:00
Behdad Esfahbod
7b1b720a8d
Protect sets in-error from further modication
...
Fixes test-set.c
2013-01-02 23:02:59 -06:00
Behdad Esfahbod
8165f2765b
[tests] Start adding tests for hb-set.h
...
Fails now. Fixing.
2013-01-02 22:50:36 -06:00
Behdad Esfahbod
11d2956553
Minor
2013-01-02 17:41:27 -06:00
Behdad Esfahbod
596740db04
[Indic] Insert dottedcircle after a lone Malayalam dot-reph
2012-12-21 19:41:04 -05:00
Behdad Esfahbod
6f69fa283e
Minor
2012-12-21 16:51:15 -05:00
Behdad Esfahbod
f4abcbfc62
Minor
2012-12-21 16:48:51 -05:00
Behdad Esfahbod
8b217f5ac5
[Indic] Reorder Malayalam dot-reph to after base
...
Test sequence is simple: U+0D4E,U+0D15. The doth-reph should be
reordered to after the Ka.
https://bugzilla.redhat.com/show_bug.cgi?id=799565
2012-12-21 15:49:26 -05:00
Behdad Esfahbod
742c4ee97e
Minor
2012-12-21 15:35:03 -05:00
Behdad Esfahbod
044d385276
Bug 58498 - Tests fail with gold linker on ARM
2012-12-19 13:00:16 -05:00
Behdad Esfahbod
b68b86daf1
Use C++ linker if ICU is disabled
...
Bug 54948 - Undefined symbols: "operator delete(void*)" "operator
new(unsigned long)" "___cxa_pure_virtual"
2012-12-18 20:39:40 -05:00
Behdad Esfahbod
1ffd23cb47
[OTLayout] Limit alternate-location FeatureParams to 'size' feature
2012-12-17 23:29:15 -05:00
Behdad Esfahbod
efe252e600
[OTLayout] Fix 'size' featureParams implementation
...
Looks at alternate location now.
2012-12-17 23:25:57 -05:00
Behdad Esfahbod
e77b442574
[OTLayout] Fix tracing
2012-12-17 18:42:59 -05:00
Behdad Esfahbod
9b54562d63
[OTLayout] Towards correct FeatureParams handling
2012-12-17 13:55:36 -05:00
Behdad Esfahbod
87e43b7f2b
[OTLayout] Wire tag and list start all the way to Feature
...
To fix FeatureParam issues. No actual fix yet, just plumbing.
2012-12-14 17:48:23 -05:00
Behdad Esfahbod
85bc44b90a
[OTLayout] More 'size' feature sanity checking
...
We still don't look for the old incorrect place of the featureParams.
I'll wait till someone actually complains about it...
2012-12-12 11:38:49 -05:00
Behdad Esfahbod
0bae50a36f
[OTLayout] Add FeatureParamsCharacterVariants struct
...
No API yet.
2012-12-11 16:29:24 -05:00
Behdad Esfahbod
bd61bc13ea
[OTLayout] Add UINT24 type
2012-12-11 16:01:07 -05:00
Behdad Esfahbod
9cf7f9d4f6
Make test-size-params write size in points
2012-12-11 14:31:13 -05:00
Behdad Esfahbod
372fe2b67b
[OTLayout] Make hb_ot_layout_get_size_params() do some checks
2012-12-11 14:30:57 -05:00
Behdad Esfahbod
875a5cbc9c
[OTLayout] Change hb_ot_layout_get_params() API
...
And add implementation for StylisticSet UINameID. No API yet.
2012-12-11 14:17:01 -05:00
Behdad Esfahbod
0e9f0f3e5f
Fix atomic ops on iOS
...
Patch from John Ralls.
2012-12-10 15:25:21 -05:00
Behdad Esfahbod
5f9569c139
Make older MSVC happy
2012-12-10 13:39:06 -05:00
Behdad Esfahbod
071d5b831e
Work around missing OSAtomicCompareAndSwapPtrBarrier() on OS X 10.4
...
Not sure how to handle iOS.
2012-12-10 00:57:00 -05:00
Behdad Esfahbod
e923e6487b
[coretext] Fixed typo
...
Oops. Thanks Khaled for catching this.
2012-12-09 19:39:40 -05:00
Behdad Esfahbod
9a8395824b
[coretext] Add hb_coretext_face_get_cg_font()
...
Not sure if it's useful, but it was missing.
2012-12-09 18:47:36 -05:00
Behdad Esfahbod
8611235688
[coretext] Remove hack around GlyphID
...
We not namespace our types, so the hack is not needed anymore.
2012-12-09 18:47:09 -05:00
Behdad Esfahbod
8e58459aeb
[graphite2] "Update to new API"
...
Part of patch from Martin Hosken. I believe he knows what he's doing
:).
2012-12-09 18:45:47 -05:00
Behdad Esfahbod
a5a4ab3846
[graphite2] Add hb_graphite2_face_get_gr_face and hb_graphite2_font_get_gr_font
...
Based on patch from Martin Hosken. I believe it returns NULL if the
font doesn't have graphite tables, but have not tested.
2012-12-09 18:44:41 -05:00
Behdad Esfahbod
737ba15644
[graphite2] Preload all tables
...
Part of patch from Martin Hosken.
2012-12-09 18:43:03 -05:00
Behdad Esfahbod
0ae6dbf1b4
Minor
2012-12-09 18:37:38 -05:00
Behdad Esfahbod
3fe5c159d3
Remove excess return
...
Oops!
2012-12-09 18:20:19 -05:00
Behdad Esfahbod
ba2d543004
Update OT language tags
...
Patch from Roozbeh Pournader.
2012-12-08 19:28:41 -05:00
Behdad Esfahbod
aba38173c6
Minor
2012-12-05 19:54:48 -05:00
Behdad Esfahbod
61865745e3
Fix test with gold linker
...
Bug 57633 - Symbol tests should ignore __bss_start, _edata, _end
2012-12-05 19:42:10 -05:00
Behdad Esfahbod
b71b0bd9ee
[Indic] Add link to Sinhala split matra section of the Sinhala spec
2012-12-05 19:20:31 -05:00
Behdad Esfahbod
0beb66e3a6
Fix warnings
2012-12-05 19:14:28 -05:00
Behdad Esfahbod
130bb3f614
Rename VOID and void_t to have HarfBuzz prefix
...
Fixes build on Windows. Ouch!
2012-12-05 16:49:47 -05:00
Behdad Esfahbod
4a350d0eb2
[OTLayout] Reuse context in collect_glyphs() recursion
2012-12-04 17:13:09 -05:00
Behdad Esfahbod
8303593ba1
Minor
...
Use pointers instead of references, in preparation for upcoming change.
2012-12-04 17:08:41 -05:00
Behdad Esfahbod
1bcfa06d11
[OTLayout] Don't recurse in collect_glyphs() for GPOS
2012-12-04 16:58:09 -05:00
Behdad Esfahbod
b5e04c7dc6
[ucdn] Match upstream changes
2012-12-04 15:57:02 -05:00
Behdad Esfahbod
7babfe5a79
Move object mutext into the user-data array
...
We are not using it for anything lse it seems.
2012-12-04 00:35:54 +02:00
Behdad Esfahbod
a190011477
Remove unused functions
2012-12-04 00:29:35 +02:00
Behdad Esfahbod
88b7564183
"Update" to Unicode 6.2.0 tables
...
Nothing changed...
2012-12-02 19:14:29 +02:00
Behdad Esfahbod
4ab99fb8c3
Minor
2012-11-30 15:02:04 +02:00
Behdad Esfahbod
6748b96d27
Minor
2012-11-30 12:02:21 +02:00
Behdad Esfahbod
0f3f529904
Add test-size-params
...
Eventually this will become part of a yet-to-be-written hb-ot cmdline
tool.
2012-11-30 09:06:59 +02:00
Behdad Esfahbod
8465a05a89
Fix hb_buffer_guess_segment_properties() for empty buffer
...
Was causing assertion failure in shape_plan().
2012-11-30 08:46:43 +02:00
Behdad Esfahbod
e75943de80
[OTLayout] Fix collect_glyphs() recursion in ContextFormat3
2012-11-30 08:38:24 +02:00
Behdad Esfahbod
3038ae6adb
[OTLayout] Minor
2012-11-30 08:24:13 +02:00
Behdad Esfahbod
0dff11f6bf
[OTLayout] Look for any 'size' feature, not only in DFLT script
...
The old code doesn't work with all fonts, as Khaled has reported.
2012-11-30 08:14:20 +02:00
Behdad Esfahbod
e9ad71dee8
[OTLayout] Rename hb_ot_layout_position_get_size() to hb_ot_layout_get_size_params()
2012-11-30 08:10:26 +02:00
Behdad Esfahbod
f18ff5a84d
[OTLayout] Return correct value from recursion
...
Commit 4c4e8f0e75
broke contextual lookups
by making the recurse() function always return false.
Reported by Khaled. Test case: لا in Amiri.
2012-11-30 08:07:06 +02:00
Behdad Esfahbod
f54cce3c6a
[OTLayout] Implement 'size' feature
2012-11-26 14:02:31 +02:00
Behdad Esfahbod
2dc1141d7d
[OTLayout] Remove operator() from ClassDef
2012-11-24 19:16:34 -05:00
Behdad Esfahbod
b67881b171
[OTLayout] Remove operator() from Coverage
2012-11-24 19:13:55 -05:00
Behdad Esfahbod
a88e716021
[OTLayout] Implement hb_ot_layout_collect_lookups()
...
Untested.
2012-11-24 02:31:02 -05:00
Behdad Esfahbod
1ea375da44
[OTLayout] Only collect output glyphs during recursion in collect_glyphs()
2012-11-24 02:05:52 -05:00
Behdad Esfahbod
f1b12781d2
[OTLayout] Implement ChainContext collect_glyphs()
...
All of collect_glyphs() complete and untested now.
2012-11-24 02:02:01 -05:00
Behdad Esfahbod
cdd756b9f4
[OTLayout] Implement GPOS collect_glyphs()
2012-11-24 01:38:41 -05:00