|
affacf2f
|
2014-12-28T16:20:31
|
|
[ft] Open blob in READONLY mode
HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE is deprecated and fairly
useless now.
|
|
395b3590
|
2014-12-28T16:03:26
|
|
Avoid accessing layout tables at face destruction
"Fixes" https://bugs.freedesktop.org/show_bug.cgi?id=86300
Based on discussion someone else who had a similar issue, most probably
the user is releasing FT_Face before destructing hb_face_t / hb_font_t.
While that's a client bug, and while we can (and should) use FreeType
refcounting to help avoid that, it happens that we were accessing
the table when we didn't really have to. Avoid that.
|
|
7d5e7613
|
2014-12-18T18:22:21
|
|
Fail blob creation if length overflows or is too large
Fail if blob start plus length overflows; or if blob length
is greater than 2GB. It takes a while for fonts to get to that
size. In the mean time, it protects against bugs like this:
http://www.icu-project.org/trac/ticket/11450
Also avoids some weird issues with 32bit vs 64bit systems
as we accept length as unsigned int. As such, a length of
-1 will cause overflow on 32bit machines, but happily
accepted on a 64bit machine. Avoid that.
|
|
d5a50520
|
2014-12-18T18:09:41
|
|
Assert that blob length doesn't overflow address.
This will crash now, if blob was created with wrong length.
Check for that coming next commit.
|
|
093c520d
|
2014-12-12T21:07:53
|
|
[otlayout] Mark variables that are C arrays as opposed to OT::ArrayOf
|
|
9df0a520
|
2014-12-12T20:54:28
|
|
[otlayout] Avoid invalid access with Context format 3
|
|
295ef1dd
|
2014-12-12T20:43:18
|
|
[ot] Debug get_coverage
|
|
00f6a8e3
|
2014-12-12T20:36:49
|
|
[ot] Print format in dispatch trace
|
|
5c7d6f02
|
2014-12-12T20:28:49
|
|
Minor
|
|
153beebb
|
2014-12-12T19:46:09
|
|
[ot] Make sure all toplevel tables have tableTag
|
|
282b13f9
|
2014-12-12T19:32:46
|
|
[sanitize] Improve debug output some more
|
|
0766ee1f
|
2014-12-12T18:23:20
|
|
[sanitize] Improve debug output
|
|
e6f80fa1
|
2014-12-10T12:05:24
|
|
[indic] Allow ZWJ/ZWNJ before SM
In Oriya, a ZWJ/ZWNJ might be added before candrabindu to encourage
or stop ligation of the candrabindu. This is clearly specified in
the Unicode section on Oriya. Allow it there. Note that Uniscribe
doesn't allow this.
Micro tests added using Noto Sans Oriya draft.
No changes in numbers. Currently at:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
MALAYALAM: 1048147 out of 1048334 tests passed. 187 failed (0.0178378%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
|
|
fde3e4a4
|
2014-10-29T11:23:08
|
|
In hb_ot_collect_glyphs(), don't recurse to a lookup more than once
Otherwise, we might process a lookup thousands of times, with no
benefit. This pathological case was hit by Noto Nastaliq Urdu Draft
in Firefox's code to determine whether space glyph is involved in
any GSUB/GPOS rules. A test page is at http://behdad.org/urdu
See:
https://bugzilla.mozilla.org/show_bug.cgi?id=1090869
|
|
5a5640d8
|
2014-10-14T21:26:13
|
|
Move code around
|
|
666b42f7
|
2014-10-14T21:24:59
|
|
Move macros around
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=84491
|
|
5c87120b
|
2014-10-14T20:07:31
|
|
Fix misc warnings
Fixes https://github.com/behdad/harfbuzz/pull/51
|
|
8afaf096
|
2014-10-02T16:40:41
|
|
[ft] Add NO_HINTING in a couple other places
|
|
5de04073
|
2014-10-01T18:18:25
|
|
Help clang with gcov
|
|
c0b82ba3
|
2014-10-01T14:24:07
|
|
Create ragel-generated files in srcdir
|
|
79bbb10b
|
2014-10-01T13:33:21
|
|
Clean ragel-generated headers in maintainercleanfiles
|
|
8971cac8
|
2014-10-01T12:41:03
|
|
Don't use tmp files in Makefile
Useful for code-coverage generation of the ragel-generated files
as they will now contain the correct .hh filename in them.
|
|
22723186
|
2014-10-01T11:56:07
|
|
check-static-inits: Filter out zero-length sections
When compiling with -O0, zero-sized constructors were showing up
and confusing the test.
|
|
b695a3dc
|
2014-10-01T11:55:14
|
|
check-static-inits: check for static finalizers
|
|
250398b1
|
2014-10-01T11:28:01
|
|
Hide other bubble-sort
|
|
c1e87442
|
2014-10-01T11:07:08
|
|
Hide bubble-sort!
|
|
15685299
|
2014-09-25T17:45:49
|
|
[ot-font] Add hb_ot_face_cmap_accelerator_t
|
|
d088ccaf
|
2014-09-25T17:26:56
|
|
[ot-font] Minor
|
|
d7c160a1
|
2014-09-25T17:15:35
|
|
[ot-font] Handle missing vertical metrics tables
|
|
be1cca27
|
2014-09-25T16:53:24
|
|
[ot-font] Add metrics_accel_t
|
|
d41b809e
|
2014-09-25T13:04:08
|
|
[ot-font] Start adding vertical support
|
|
22f0de50
|
2014-08-25T12:54:57
|
|
Fix build
|
|
d457e3f0
|
2014-08-25T12:31:19
|
|
[arabic] Don't #include __FILE__
Fine!
https://code.google.com/p/chromium/issues/detail?id=406957
|
|
9ceb673d
|
2014-08-25T11:48:12
|
|
[arabic] Allow disabling win1256 fallback code
By defining HB_NO_WIN1256.
|
|
8a931950
|
2014-08-22T12:06:57
|
|
[ot] Prefer Windows platform cmap tables / accept all Unicode encodingIDs
Some fonts on the Mac ship with (0,1).
|
|
270971a0
|
2014-08-15T14:28:04
|
|
[win32] Avoid preprocessor warnings re macros
|
|
8c6bd34d
|
2014-08-14T13:33:37
|
|
Fix check-symbols on OS X
|
|
522b1cc5
|
2014-08-14T13:29:30
|
|
[coretext] Hide feature_mappings
|
|
0d2c2f23
|
2014-08-14T13:25:55
|
|
Simplify hb-object
|
|
9d861b81
|
2014-08-14T13:15:21
|
|
Really fix clang build this time
|
|
272226f2
|
2014-08-14T13:11:33
|
|
Revert "Fix build on clang after previous commit"
This reverts commit 9c80cbc87f23040a334e30c750f64523d9ef10c8.
|
|
9c80cbc8
|
2014-08-14T13:09:52
|
|
Fix build on clang after previous commit
|
|
a5a27073
|
2014-08-14T13:05:36
|
|
Rewrite this==NULL checks to avoid undefined behavior
Fixes https://code.google.com/p/chromium/issues/detail?id=403594
|
|
cc3b2d43
|
2014-08-14T12:59:16
|
|
Remove this==NULL check from face->reference_table()
Not supposed to happen, and apparently this is undefined in C++.
https://code.google.com/p/chromium/issues/detail?id=403594
|
|
cd7ea4f7
|
2014-08-14T12:57:02
|
|
Make hb_object_t members private
In preparation for fixing:
https://code.google.com/p/chromium/issues/detail?id=403594
|
|
20076cc4
|
2014-08-12T19:26:35
|
|
[coretext] Add version guards for kCTLanguageAttributeName
|
|
1b3011c2
|
2014-08-12T19:17:19
|
|
[coretext] Pass buffer language to CoreText
|
|
3eb6a4db
|
2014-08-12T19:10:33
|
|
[coretext] Minor
|
|
08acfe0d
|
2014-08-12T18:57:08
|
|
[hb-coretext] Fix cluster order of notdef runs in RTL text
|
|
30eed75d
|
2014-08-12T17:15:09
|
|
[shape-plan] Fix typo!
The only effect is, if shaper_list was not NULL and no shaper was found,
we now don't insert anything into cache and return earlier.
|
|
dc9aba6f
|
2014-08-12T17:14:36
|
|
[shape-plan] Better debug messages
|
|
e956c65b
|
2014-08-12T17:03:27
|
|
[shape-plan] Simplify macro
|
|
29e25550
|
2014-08-12T17:02:59
|
|
Fix gcc warning
|
|
8d5eebc0
|
2014-08-12T16:50:22
|
|
[shape-plan] Fix shape-plan caching with more than one requested shaper
Wasn't breaking out of loop, ouch!
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1246370.html
|
|
bc3d0dc6
|
2014-08-12T16:49:18
|
|
[shape-plan] Add debug tracing
|
|
81b8d977
|
2014-08-12T15:49:47
|
|
[coretext] Fix buffer resizing
Was very broken. Now fixed and tested.
|
|
c3e924fb
|
2014-08-12T14:25:11
|
|
[coretext] Rewind scratch-allocated arrays when not needed anymore
|
|
8fd4d70b
|
2014-08-12T13:12:31
|
|
[wince] Two more Windows CE fixes
Report has it that it builds (and works) now:
https://codereview.qt-project.org/#/c/92087/
|
|
fd0001d7
|
2014-08-12T10:32:41
|
|
[coretext] Compare CGFont and PS name, if CTFont didn't match
See comments.
Fixes vertical text. CoreText backend is in very good shape now!
Also see:
5a0eed3b50629be4826e4e9428f2c3255195395d
25f4fb9b56bb3f8bec821571c78f8829e40daa54
Fixes http://github.com/behdad/harfbuzz/pull/36
|
|
5a0eed3b
|
2014-08-11T23:47:16
|
|
[coretext] Implement vertical shaping
Currently doesn't work though, we detect font fallback. Apparently
matching on ct_font is not safe for this. Looks like commit
25f4fb9b56bb3f8bec821571c78f8829e40daa54 wasn't enough after all.
|
|
1b55077f
|
2014-08-11T20:45:12
|
|
[coretext] Remove unnecessary alt_size
Wasn't needed after a6b8dc87421de33746b0b14d86d2d1532aec02af.
|
|
10b1104d
|
2014-08-11T20:02:45
|
|
[coretext] Use CFRunStatus
Assert that all runs had expected direction, and take hint for
non-monotone clusters.
|
|
fd1a6aa8
|
2014-08-11T20:01:37
|
|
[coretext] Minor
|
|
130856c7
|
2014-08-11T19:16:26
|
|
[coretext] Remove debug printf!
|
|
b5fbc3b8
|
2014-08-11T18:40:01
|
|
API: Do not clear buffer-flags in hb_buffer_clear_contents()
After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't
need to set flags for different pieces of text. The flags now
are something the client sets up once, depending on how it
actually uses the buffer. As such, don't clear it in
clear_contents().
Tests updated.
|
|
104484ce
|
2014-08-11T18:23:43
|
|
Minor
|
|
4acce77d
|
2014-08-11T17:46:50
|
|
[coretext] Pass buffer direction to CoreText
Have to use a CTTypesetter for this.
|
|
5ec45dd3
|
2014-08-11T17:46:12
|
|
[coretext] Minor
It's hard to handle all possible NULL returns from CoreText. Add one
more...
|
|
624a299b
|
2014-08-11T15:29:18
|
|
[coretext] Attach marks to base clusters
Fixes https://githu.com/behdad/harfbuzz/issues/49
to the extent that it can be fixed.
|
|
3c41ccb5
|
2014-08-11T15:11:59
|
|
[coretext] Use input clusters
Before, this shaper was returning UTF-16 cluster indices instead of
returning whatever cluster values the user had had set up in the buffer.
Ouch!
|
|
a6b8dc87
|
2014-08-11T15:08:19
|
|
[coretext] Fix buffer resize handling
We can't really resize buffer and continue in this shaper as we are
using the scratch buffer for string_ref and log_cluster. Restructure
shaper to retry from (almost) scratch.
|
|
9b3c60c8
|
2014-08-11T13:25:43
|
|
[coretext] Always compute log_clusters
To be used soon.
|
|
15c633dd
|
2014-08-11T13:42:42
|
|
Minor
|
|
9ce067c7
|
2014-08-11T02:04:38
|
|
[coretext] Simplify cluster mapping
|
|
49f7fb63
|
2014-08-10T19:19:38
|
|
[coretext] Minor
|
|
25f4fb9b
|
2014-08-10T19:05:25
|
|
[coretext] Fix fallback detection
Fixes http://github.com/behdad/harfbuzz/pull/36
|
|
77a7a53a
|
2014-08-10T18:59:47
|
|
[coretext] Fix last range
Test with:
hb-view /Library/Fonts/Zapfino.ttf ZapfinoZapfino --features=-dlig[7:] --shaper=coretext
|
|
c2b151d9
|
2014-08-10T18:52:07
|
|
Fix hb_in_range() for types smaller than int
As exercised by hb-coretext .notdef code.
|
|
26a963b9
|
2014-08-10T18:04:50
|
|
[wince] Try to fix some stuff on Windows CE
Based on errors seen here:
http://testresults.qt-project.org/ci/QtBase_dev_Integration/build_03837/wince70embedded-armv4i-msvc2008_Windows_7/log.txt.gz
Fully untested.
|
|
92aeee3f
|
2014-08-10T17:42:19
|
|
Minor
|
|
b9993d8d
|
2014-08-10T17:40:24
|
|
[coretext] Fix assert on Yosemite
Apparently those functions documented as sometimes returning NULL
actually exercise that right in OS X 10.10 Yosemite. The scratch
was too small for that. I *think* I fixed it, but haven't tested
as I don't have Yosemite.
|
|
087733dd
|
2014-04-18T11:21:08
|
|
[coretext] Use CGFont as face_data
|
|
d277c3d7
|
2014-08-07T15:38:52
|
|
[arabic] Bug 82306 - Mandaic had errors in its Unicode Joining_Type
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=82306
|
|
38fb30d7
|
2014-08-06T13:34:49
|
|
Use atexit() only if it's safe to call from shared library
Apparently they are not (advertised as?) safe on BSD systems.
We ignore the case of static libraries.
Whitelisted on glibc, Android, and MSVC / mingw.
https://bugs.freedesktop.org/show_bug.cgi?id=82246
|
|
d5e61470
|
2014-08-05T14:19:01
|
|
[arabic] Fix fallback shaping regression
Was broken in 615d00ea252739da57edbd980ff27e573.
Fixes https://github.com/behdad/harfbuzz/pull/48
Micro-test added.
|
|
d7c850f8
|
2014-08-02T17:46:38
|
|
[uniscribe] Minor
|
|
8f3eebf7
|
2014-08-02T17:18:46
|
|
Make sure gsubgpos buffer vars are available during fallback_position
Add buffer var allocation asserts to a few key places.
|
|
2053f369
|
2014-08-02T16:31:16
|
|
Disable 'liga' for vertical text
The reason we turned it on is because Kazuraki uses it. But that's
not reason enough. Until the OpenType spec gets its act together re
adding design-direction to lookups, this is better user experience.
|
|
763e5466
|
2014-08-02T16:17:44
|
|
Make it easier to use HB_BUFFER_FLAG_BOT/EOT
Previously, we expected users to provide BOT/EOT flags when the
text *segment* was at paragraph boundaries. This meant that for
clients that provide full paragraph to HarfBuzz (eg. Pango), they
had code like this:
hb_buffer_set_flags (hb_buffer,
(item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) |
(item_offset + item_length == paragraph_length ?
HB_BUFFER_FLAG_EOT : 0));
hb_buffer_add_utf8 (hb_buffer,
paragraph_text, paragraph_length,
item_offset, item_length);
After this change such clients can simply say:
hb_buffer_set_flags (hb_buffer,
HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT);
hb_buffer_add_utf8 (hb_buffer,
paragraph_text, paragraph_length,
item_offset, item_length);
Ie, HarfBuzz itself checks whether the segment is at the beginning/end
of the paragraph. Clients that only pass item-at-a-time to HarfBuzz
continue not setting any flags whatsoever.
Another way to put it is: if there's pre-context text in the buffer,
HarfBuzz ignores the BOT flag. If there's post-context, it ignores
EOT flag.
|
|
0a5ae933
|
2014-08-02T15:00:34
|
|
Merge branch 'win1256'
|
|
6ab6be32
|
2014-08-02T14:58:38
|
|
[arabic/win1256] Remove unused MultipleSubst macros
|
|
abfa4252
|
2014-08-01T19:05:33
|
|
[arabic/win1256] Really fix lam-alef this time
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c26
https://github.com/behdad/harfbuzz/commit/b276e897d17519a2c28f79d024904ac2bdd86bcf#commitcomment-7243499
|
|
55977f2a
|
2014-08-01T16:14:33
|
|
[arabic/win1256] Hook up lamMedi lookup
Restructure lookup array to accommodate.
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18
|
|
e839e252
|
2014-08-01T16:09:31
|
|
[arabic/win1256] Fix TEH MARBUTA final form
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18
|
|
a2de1932
|
2014-07-31T18:21:05
|
|
[arabic/win1256] Fix shaping of JEEM, HAH, and KHAH
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c16
|
|
1789ccb1
|
2014-07-31T11:04:00
|
|
[arabic/win1256] Remove GCC'ism
The table can now compile independently too. If we cannot make it work
on MSVC, we can always generate the data and distribute it.
The code now compiles cleanly with:
gcc -c -xc -std=c99 -Werror -pedantic hb-ot-shape-complex-arabic-win1256.hh
g++ -c -xc -std=c++1x -Werror -pedantic hb-ot-shape-complex-arabic-win1256.hh
See:
https://github.com/behdad/harfbuzz/commit/a97f537cec209649302899975d76ca2b2661da7a#commitcomment-7218736
|
|
f28b1c82
|
2014-07-30T02:15:44
|
|
[arabic] Implement Windows-1256 private shaping
Bug 1045139 - The Arabic text with "MS Sans Serif" font is rendered bad
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139
This is only enabled on Windows platforms, and requires support from
Uniscribe to work. But for clients that do hook up to Uniscribe, this
fixes shaping of Windows-1256-encoded bitmap fonts like "MS Sans Serif".
The code and table together have just less than a 1kb footprint when
enabled.
UNTESTED. I might even have broken regular Arabic fallback shaping.
|
|
ac53443f
|
2014-07-31T18:51:37
|
|
[hangul] Don't apply 'calt'
See comments.
Micro-test added.
|
|
88911e8c
|
2014-07-29T19:47:26
|
|
Minor
|
|
9e834e29
|
2014-07-26T20:34:01
|
|
[hebrew] Zero mark advance by GDEF late
Seems to be what Uniscribe does.
At this point I think it's work checking our default...
Fixes Bug 76767 - Zeroing of advance of 2nd component of multiple
substitution with SBL Hebrew
https://bugs.freedesktop.org/show_bug.cgi?id=76767
Micro-test added.
|