Behdad Esfahbod
e509d35cf1
[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0
...
Based on patch from Jonathan Kew, as reported on the mailing list.
2013-07-11 14:56:45 -04:00
Behdad Esfahbod
29b596ac67
[uniscribe] Fix buffer allocation
...
Email from Jonathan Kew:
My cygwin build kept aborting on certain test words when run with the
uniscribe backend. Turned out this was caused by a bug in the allocation
of scratch buffers in hb-uniscribe.cc.
Commit 2a17f9568d
introduced a new line
ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size);
but it failed to account for this in the computation of glyphs_size
(the number of glyphs for which scratch buffer space is available),
with the result that the vis_clusters array ends up overrunning the
end of the scratch buffer and clobbering the beginning of the buffer's
info[].
AFAICS, the vis_attr array is not actually used, so the simple fix is
to remove the line that allocates it. (If/when we -do- need to use
vis_attr for something, we'll need to add another term to the earlier
calculation of glyphs_size.)
With this patch, the uniscribe backend runs reliably again.
JK
2013-07-08 08:37:15 -06:00
Behdad Esfahbod
9245e98742
[Indic] Add Javanese config
...
We should add for other scripts too, send me the virama codepoint
and script name...
2013-06-26 20:57:58 -04:00
Behdad Esfahbod
5f85c80a07
[OT] Collect requiredFeature only if features are not provided
...
As per Werner's report on the list.
2013-06-26 20:14:18 -04:00
Behdad Esfahbod
3f9e2dced2
Fix contextual lookup recursion indexing
...
See email thread "Skipping Control for Attaching Marks using OpenType"
from earlier this month.
2013-06-26 19:46:55 -04:00
Bradley Grainger
89312b7417
Destroy lookups before blobs.
...
'layout->gsub' may depend on data owned by 'layout->gsub_blob', so it must
be deinitialized before the blob is destroyed.
2013-06-21 15:02:18 -07:00
Behdad Esfahbod
79d1007a50
If variation selector is not consumed by cmap, pass it on to GSUB
...
This changes the semantics of get_glyph() callback and expect that
callbacks return false if the requested variant is not available, and
then we will call them back with variation_selector=0 and will retain
the glyph for the selector in the glyph stream.
Apparently most Mongolian fonts implement the Mongolian Variation
Selectors using GSUB, not cmap.
https://bugs.freedesktop.org/show_bug.cgi?id=65258
Note that this doesn't fix the Mongolian shaping yet, because the way
that's implemented is that the, say, 'init' feature ligates the letter
and the variation-selector. However, since currently the variation
selector doesn't have the 'init' mask on, it will not be matched...
2013-06-13 19:01:07 -04:00
Behdad Esfahbod
c7a8491720
Skip over multiple variation selectors in a row
2013-06-10 15:08:49 -04:00
Behdad Esfahbod
7235f33f9e
Fix misc warnings reported by cppcheck
...
https://bugs.freedesktop.org/show_bug.cgi?id=65544
2013-06-10 15:08:49 -04:00
Behdad Esfahbod
2fd0e02706
Minor
2013-06-06 17:16:01 -04:00
Behdad Esfahbod
4ddf937242
Remove unnecessary stdint.h include
2013-06-03 18:36:26 -04:00
Chun-wei Fan
93a04b8b5e
hb-uniscribe.cc: Re-enable build under Visual Studio
...
-Declare hinstLib at the top of block
-Fix the definitions of the typedefs of ScriptItemizeOpenType,
ScriptShapeOpenType and ScriptPlaceOpenType
2013-06-03 18:32:59 -04:00
Behdad Esfahbod
d70be29831
Fix dist
2013-05-28 17:27:31 -04:00
Behdad Esfahbod
22ce096174
Generate harfbuzz-icu.pc
...
Currently it only works with ICU that has .pc files. I'll
wait till someone complains before fixing it for icu-config
systems.
2013-05-28 17:18:30 -04:00
Behdad Esfahbod
d9afa11133
Build hb-icu into libharfbuzz-icu.so
2013-05-28 15:27:40 -04:00
Behdad Esfahbod
2a17f9568d
Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP
...
Fallback to older API if OpenType variants are not available.
2013-05-28 13:13:46 -04:00
Behdad Esfahbod
61e7775fa7
Remove hb-icu dependency from hb-icu-le shaper
2013-05-27 18:24:56 -04:00
Behdad Esfahbod
7e08f1258d
Don't zero advance of mark-non-mark ligatures
...
If there's a mark ligating forward with non-mark, they were
inheriting the GC of the mark and later get advance-zeroed.
Don't do that if there's any non-mark glyph in the ligature.
Sample test: U+1780,U+17D2,U+179F with Kh-Metal-Chrieng.ttf
Also:
Bug 58922 - Issue with mark advance zeroing in generic shaper
2013-05-27 14:50:00 -04:00
Behdad Esfahbod
cf059ac69d
[icu_le] Support non-BMP text
2013-05-24 15:28:11 -04:00
Behdad Esfahbod
a447c528e6
[icu_le] A bit better scaling
2013-05-23 17:05:39 -04:00
Behdad Esfahbod
fb502a2278
Merge commit '9d9e72e94e7914f82ce62a304e7242f79c13edaf'
2013-05-23 15:54:52 -04:00
Behdad Esfahbod
b9408d24f3
[icu_le] Fix scaling
...
Seems to work...
2013-05-23 15:43:02 -04:00
Behdad Esfahbod
601526392d
Copy stdint.h boilerplate to ucdn
2013-05-21 17:22:13 -04:00
Behdad Esfahbod
d785fa0c45
Minor refactoring
2013-05-20 09:18:52 -04:00
Behdad Esfahbod
127daf15e0
Arabic mark width-zeroing regression
...
Mozilla Bug 873902 - Display Arabic text with diacritics is bad
https://bugzilla.mozilla.org/show_bug.cgi?id=873902
2013-05-20 09:11:35 -04:00
Behdad Esfahbod
fa3d0a0ce6
Bug 64476 - Typo in hb_set_t.get_min()
...
Fixes previous commit's test.
2013-05-14 15:30:55 -04:00
Behdad Esfahbod
9d9e72e94e
[OTLayout] Use is_inplace() when flipping buffers
2013-05-04 16:04:04 -04:00
Behdad Esfahbod
45f3d980c9
[OTLayout] Merge / templateize apply_string()
2013-05-04 16:04:04 -04:00
Behdad Esfahbod
e015b8f218
[OTLayout] Minor
2013-05-04 16:04:04 -04:00
Behdad Esfahbod
780cd930a9
[OTLayout] Minor
2013-05-04 16:04:04 -04:00
Behdad Esfahbod
2e0c44f4be
[OTLayout] Add is_inplace() method to GSUB
2013-05-04 16:04:04 -04:00
Behdad Esfahbod
bac1dd6a0f
[OTLayout] Refactor a bit more
2013-05-04 16:04:04 -04:00
Behdad Esfahbod
d2c96819de
Move code around
2013-05-04 16:04:04 -04:00
Behdad Esfahbod
45fd9424c7
[OTLayout] Add hb_ot_layout_lookup_accelerator_t
2013-05-04 16:04:03 -04:00
Behdad Esfahbod
76ea563673
[OTLayout] Add note about collect_glyphs() and recursive lookups
2013-05-04 16:04:03 -04:00
Behdad Esfahbod
a8bf0e91f1
Add U+061C ARABIC LETTER MARK to Default_Ignorable
2013-05-03 14:45:04 -04:00
Behdad Esfahbod
5d59f99920
[OTLayout] Make MultipleSubst in-place for sequences of len=1
2013-05-02 15:39:16 -04:00
Behdad Esfahbod
54f84a6b85
[OTLayout] Whitespace
2013-05-02 15:39:16 -04:00
Behdad Esfahbod
3276c354da
[OTLayout] Minor refactoring
2013-05-02 15:39:15 -04:00
Behdad Esfahbod
ea86efa486
Minor
2013-05-02 15:39:15 -04:00
Behdad Esfahbod
8b63efb6f8
Minor
2013-05-02 15:39:15 -04:00
Behdad Esfahbod
2265be0a62
Minor
2013-05-02 15:39:15 -04:00
Behdad Esfahbod
e6f19af087
Minor
2013-05-02 14:00:16 -04:00
Behdad Esfahbod
6c15ddfe2b
Renamed DEBUG to something else
...
Some infrastructures use DEBUG as a generic symbol.
2013-04-30 11:34:00 -04:00
Behdad Esfahbod
ed79dff517
Minor
2013-04-21 15:43:27 -04:00
Behdad Esfahbod
893f57b32f
Minor renaming
2013-04-21 15:23:21 -04:00
Behdad Esfahbod
8ac3c9c0b6
Rename "pause" to "stage"
...
The compile() function is starting to become illegible...
2013-04-21 15:19:38 -04:00
Behdad Esfahbod
dd0641a432
Minor
2013-04-21 15:13:57 -04:00
Behdad Esfahbod
06a44e8593
Remove unneeded code
...
We always push a pause at the end such that each lookup falls in exactly
one pause_map_t. Now, only if I can find a better name for that...
2013-04-21 15:13:08 -04:00
Behdad Esfahbod
8659c63608
Hand-code bsearch in the hot inner loop.
...
Saves another 3 / 4 percent with Amiri.
2013-04-19 14:36:32 -04:00