Commit Graph

4456 Commits

Author SHA1 Message Date
Behdad Esfahbod
333173103b Fix sign of shift operators
This one:

  map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit);

before the fix, the shift was done as an int, causing overflow
if it ever got to 1 << 31.  Sprinkle 'u's around.

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805
2016-08-08 17:28:14 -07:00
Behdad Esfahbod
10a0d4aa22 Map zh-Hant-HK to ZHH
Fixes https://github.com/behdad/harfbuzz/issues/300
2016-08-08 16:51:08 -07:00
Khaled Hosny
dd31fc9f7e Don’t build UCDN support when building with GLib (#296)
Regression from: b424b6c372.
2016-07-22 17:43:00 -07:00
Behdad Esfahbod
489acf6c31 [coretext] "Fix" crashes on CoreText < 10.10
Fixes https://github.com/behdad/harfbuzz/issues/297
2016-07-22 17:41:43 -07:00
Behdad Esfahbod
a732e00ea4 1.3.0 2016-07-21 01:58:00 -07:00
Behdad Esfahbod
08c08af2f9 [ucdn] Update to Unicode 9.0.0
Fixes https://github.com/grigorig/ucdn/issues/12
2016-07-21 01:35:30 -07:00
jfkthame
f3f6c1ccbf Blacklist GDEF tables of more fonts
This is based on bug reports that have been filed against Firefox since it
updated to a version of harfbuzz that uses zeroing by GDEF rather than by
Unicode. I'm sure there are a bunch more font versions that should also be
included; these are just the ones I have on hand and have confirmed as having
bad GDEF data.

Given how the list here is growing, I think we should reconsider the approach,
and perhaps revert to zeroing by Unicode instead.

Fixes https://github.com/behdad/harfbuzz/issues/264
Fixes https://github.com/behdad/harfbuzz/pull/266
2016-07-21 01:15:12 -07:00
Behdad Esfahbod
34f9aa582c Implement symbol cmap in ft and ot fonts
Fixes https://github.com/behdad/harfbuzz/issues/236
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=627953
2016-07-20 02:35:54 -07:00
Behdad Esfahbod
6363d7df28 Clean up buffer area when rewinding
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=614647
If allocation fails, we might be leaving junk behind.  At least
clear it up.
2016-07-20 01:44:47 -07:00
Behdad Esfahbod
f80c34eb55 Whitespace 2016-07-12 11:18:26 -07:00
Ebrahim Byagowi
874421203e [coretext] Speculative fix for CoreText nullptr access (#288) 2016-07-11 16:19:21 -07:00
Birunthan Mohanathas
6bf9db4f1e [ft] Fix unsafe cast of FT_Done_Face in hb_ft_{face,font}_create_referenced (#289)
Prior to this change the function `FT_Error FT_Done_Face(FT_Face *)` was
called through a pointer with the signature `void (void *)` resulting in
undefined behaviour.
2016-07-11 13:38:23 -07:00
Steve Lhomme
0b8f3ab022 clang in MSVC mode doesn't like when we redefine __attribute__ (#283) 2016-07-11 12:57:26 -07:00
Behdad Esfahbod
2f522fd485 Merge pull request #286 from khaledhosny/gi-tag_from_string
[introspection] Fix hb_tag_from_string annotation
2016-07-01 17:09:28 -07:00
Khaled Hosny
e4d451ee55 [introspection] Fix hb_tag_from_string annotation 2016-07-02 00:04:57 +02:00
Behdad Esfahbod
d3e2a06b0f [python] Use utf-32 / utf-16 based on build of Python
Fixes https://github.com/behdad/harfbuzz/pull/271
2016-06-30 11:01:22 -07:00
Behdad Esfahbod
fc9de44a03 Comments 2016-06-30 09:46:52 -07:00
Behdad Esfahbod
46809dee30 Merge pull request #268 from drott/conflictingFontFix
Discard reconfigured CTFont if URL changes
2016-06-30 09:41:03 -07:00
Dominik Röttsches
1bea49eb4b Merge branch 'master' into conflictingFontFix 2016-06-29 12:10:41 +02:00
Behdad Esfahbod
70e72e5f61 [gobject] Fix a few warnings
Part of https://github.com/behdad/harfbuzz/issues/277
2016-06-28 21:15:36 -07:00
Behdad Esfahbod
d8273aac19 Merge pull request #280 from behdad/revert-271-patch-2
Revert "use utf32"
2016-06-28 21:15:28 -07:00
Behdad Esfahbod
ae9054c740 Revert "use utf32" 2016-06-28 21:14:38 -07:00
Dominik Röttsches
7aa3631dd0 Merge branch 'master' into conflictingFontFix 2016-06-28 09:52:18 +02:00
Behdad Esfahbod
abae93faef Merge pull request #273 from ebraminio/master
[dwrite] Use stream font loader instead GDI interop
2016-06-27 14:33:27 -04:00
Ebrahim Byagowi
8179ff5d7b [dwrite] Don't allocate more than needed
Addressing Nikolay Sivov reviews on harfbuzz mailing list
2016-06-27 03:58:49 +04:30
Ebrahim Byagowi
07b724f341 [dwrite] Delete remained objects
No longer noticeable memory increase on create/destroy iterations,
highly better than current state of uniscribe backend
2016-06-24 14:29:24 +04:30
Ebrahim Byagowi
be565d1714 [dwrite] Release allocated blob on face destroy
This reduces memory consumption of my iterated font create/destroy cycle test
significantly and makes it much better than uniscribe backend even
2016-06-24 11:46:53 +04:30
Ebrahim Byagowi
f3f0ea980a [dwrite] Remove ifdefs without breaking execution on old Windows versions 2016-06-23 17:26:55 +04:30
Ebrahim Byagowi
6b861dbd8b [dwrite] Use stream font loader instead GDI interop
With help of
https://dxr.mozilla.org/mozilla-central/source/gfx/2d/NativeFontResourceDWrite.cpp
2016-06-23 15:57:34 +04:30
Dominik Röttsches
f7da0486ed Merge branch 'master' into conflictingFontFix 2016-06-20 10:25:43 +03:00
Kelvin
07461d06d2 Use UTF-32 in Python sample 2016-06-19 01:46:38 +03:00
Khaled Hosny
fca0c61d67 Merge pull request #270 from khaledhosny/travis-failure
Fix make check on Travis
2016-06-19 00:08:51 +03:00
Khaled Hosny
988350586f [tests] Workaround Python 2 “narrow” builds
The so-called Python 2 “narrow” builds support UCS2 only, this is a
workaround to allow unichr to work with any Unicode character in such
builds. This fixes Travis-CI failure as it has narrow Python 2 builds.

Copied from:
https://github.com/behdad/fonttools/blob/master/Lib/fontTools/misc/py23.py
2016-06-18 23:01:58 +02:00
Dominik Röttsches
a0223274b9 Discard reconfigured CTFont if URL changes
Fixes https://github.com/behdad/harfbuzz/issues/267
2016-06-16 14:19:39 +02:00
Behdad Esfahbod
4b8de1ea80 Round, not truncate, when scaling values
Fixes https://github.com/behdad/harfbuzz/issues/255
2016-06-06 23:08:54 -07:00
Behdad Esfahbod
a93078a0ec Change bugreport URL to github
That's where everything is happening these days.
2016-06-06 15:58:41 -07:00
Behdad Esfahbod
bed201d2b8 Update for latest Unicode 9 data files 2016-06-06 14:14:24 -07:00
Behdad Esfahbod
aba4b0ca52 Add TODO 2016-06-01 16:57:29 -07:00
Behdad Esfahbod
a2b03de5b3 [myanmar] Handle U+AA74..U+AA76
Fixes https://github.com/behdad/harfbuzz/issues/218
2016-05-06 17:56:07 +01:00
Behdad Esfahbod
6c0aa9e92b Fix build on droid.io 2016-05-06 17:50:53 +01:00
Behdad Esfahbod
9b6312f945 [use] Update to draft spec from Andrew Glass from August 2015 2016-05-06 17:41:49 +01:00
Behdad Esfahbod
3e4e7616a8 [use] Add a catch-all clause to the machine 2016-05-06 17:28:25 +01:00
Behdad Esfahbod
d04e461fe3 [use] Fix 'Number-joiner terminated cluster' to use HN instead of H
From draft update to USE.
2016-05-06 17:17:00 +01:00
Behdad Esfahbod
359dead960 Allow MultipleSubst to delete glyph
Fixes https://github.com/behdad/harfbuzz/issues/253

Hopefully we got the logic right.
2016-05-06 16:19:19 +01:00
Behdad Esfahbod
3c1666cfb5 [indic] Remove more unused logic after Javanese is gone 2016-05-06 16:05:07 +01:00
Behdad Esfahbod
8b5d6e755b [indic] Remove unused Javanese bits 2016-05-06 15:59:27 +01:00
Behdad Esfahbod
30e6e29f0f [indic/use] Move Javanese from Indic shaper to USE
Fixes https://github.com/behdad/harfbuzz/issues/243

With javatext.ttf, the reodering medial Ra gets its advance width
zero'ed in Uniscribe implementation, and the font adds the advance
back.  Our Indic shaper does not do that, but USE does.  So, route
Javanese through USE.  That's what Microsoft does anyway.  Test:

  U+A9A5,U+A9BA

This also seems to fix the following sequence, and variations thereof:

  U+A99F,U+A9C0,U+A9A2,U+A9BF
2016-05-06 15:52:27 +01:00
Behdad Esfahbod
c6ee5f5f06 Add Javanese sample text 2016-05-06 15:39:02 +01:00
Behdad Esfahbod
e21921a68a Minor 2016-05-06 15:26:40 +01:00
Behdad Esfahbod
01a30a6aa9 [indic] Remove data for scripts that don't go thorough this shaper 2016-05-06 12:10:07 +01:00