Behdad Esfahbod
e15fa7a8cf
Do not require the '=' in hb_feature_from_string()
...
Towards accepting CSS font-feature-settings strings.
2014-07-25 11:46:28 -04:00
Behdad Esfahbod
f4fe9baefd
Reject tags longer than 4 chars in hb_feature_from_string()
2014-07-25 11:39:55 -04:00
Behdad Esfahbod
7e8c389546
Minor warnings fixes
...
Some systems insist on -Wmissing-field-initializers. We have too many,
by design. Fix a few easy ones.
2014-07-25 11:23:17 -04:00
Behdad Esfahbod
fc0daafab0
[indic] Handle old-spec Malayalam reordering with final Halant
...
See comment.
Micro-tests added.
2014-07-23 16:53:03 -04:00
Behdad Esfahbod
d6d349d178
Give CC to gir-scanner
...
From:
https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-harfbuzz/0001-give-cc-to-gir-scanner.all.patch
2014-07-23 11:38:49 -04:00
Behdad Esfahbod
8c1bdb46fa
0.9.33
2014-07-22 18:02:11 -04:00
Behdad Esfahbod
d218bdb26b
Fix test runner under Windows
2014-07-22 18:02:11 -04:00
Behdad Esfahbod
3f310dc0ca
Disallow changing settings on immutable face
...
Ouch!
2014-07-22 16:26:27 -04:00
Behdad Esfahbod
0fc0a10228
[win] Fix Cygwin build
...
db30828048 (commitcomment-7077778)
2014-07-21 11:13:27 -04:00
Behdad Esfahbod
1132a7dd0e
Add HB_TAG_MAX_SIGNED / _HB_SCRIPT_MAX_VALUE_SIGNED
...
To make C language police happy.
2014-07-20 01:17:40 -04:00
Behdad Esfahbod
df99976398
[gobject] Skip _HB_SCRIPT_MAX_VALUE
...
Fixes https://github.com/behdad/harfbuzz/pull/38
2014-07-19 17:31:23 -04:00
Behdad Esfahbod
f1a8d50a87
[win] Don't define visibility attribtue under Cygwin
2014-07-19 16:52:32 -04:00
Behdad Esfahbod
9c77027d64
[win] Turn STRICT on for including windows.h
2014-07-19 16:37:22 -04:00
Behdad Esfahbod
db30828048
[win] Consolidate windows.h include tips and tricks
2014-07-19 16:32:04 -04:00
Behdad Esfahbod
f26d59d468
More fixing MemoryBarrier() on Mingw32
...
Set requested windows header to Vista. See discussion:
fbb2847f54 (commitcomment-7054700)
2014-07-19 16:10:21 -04:00
Behdad Esfahbod
00a57eb4b5
[test] Remove unused micro-font
2014-07-18 14:42:50 -04:00
Behdad Esfahbod
ed29b15f5d
[test] Add more Mongolian variation selector tests
...
From
https://code.google.com/p/chromium/issues/detail?id=393896
2014-07-18 14:37:49 -04:00
Behdad Esfahbod
385cf37cf0
Fix hb_in_range() unused-var warning on Windows
2014-07-17 18:22:07 -04:00
Behdad Esfahbod
e3b42f1af4
[arabic] Disable 'cswh' again
...
Ouch!
2014-07-17 17:13:54 -04:00
Behdad Esfahbod
66f30915b1
0.9.32
2014-07-17 16:05:47 -04:00
Behdad Esfahbod
82f4d9d53f
[arabic] Add note re disabled 'cswh'
2014-07-17 15:57:37 -04:00
Behdad Esfahbod
615d00ea25
[arabic] Apply init/medi/isol/fini/... in separate stages
...
Follows the order of the Arabic/Syriac specs. Also don't stop
between rlig and calt in non-Arabic scripts.
Micro-tests for Arabic and Mongolian added for the latter.
2014-07-17 15:50:13 -04:00
Behdad Esfahbod
d21e997035
[test] Make record_test understand cmdline args to hb-shape
2014-07-17 15:30:17 -04:00
Behdad Esfahbod
7cd33f2304
Micro optimization
2014-07-17 14:39:07 -04:00
Behdad Esfahbod
164c13d73f
Another try to fix Mongolian free variation selectors
...
This reverts bf029281
and fixes it properly. That commit
was not enough as it was only inheriting the shaping_action
for prev_action, but not curr_action.
Micro-test added.
https://code.google.com/p/chromium/issues/detail?id=393896
2014-07-17 14:28:04 -04:00
Behdad Esfahbod
5209c50506
Revert "Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode codepoints"
...
We now handle U+FFFD replacement in hb_buffer_add_utf*(). Any other
manipulation can happen in user callbacks. No need for this.
efe74214bb (commitcomment-7039404)
This reverts commit efe74214bb
.
Conflicts:
src/hb-ot-shape-normalize.cc
2014-07-17 12:23:44 -04:00
Dominik Röttsches
9e7c720100
Fix CoreText build after a8b89a09f6
2014-07-17 12:18:08 -04:00
Behdad Esfahbod
a4d643755a
Minor
2014-07-16 20:15:45 -04:00
Behdad Esfahbod
a18897f87c
0.9.31
2014-07-16 16:02:15 -04:00
Behdad Esfahbod
976c8f4552
New API: hb_buffer_[sg]et_replacement_codepoint()
...
With this change, we now by default replace broken UTF-8/16/32 bits
with U+FFFD. This can be changed by calling new API on the buffer.
Previously the replacement value used to be (hb_codepoint_t)-1.
Note that hb_buffer_clear_contents() does NOT reset the replacement
character.
See discussion here:
6f13b6d62d
New API:
hb_buffer_set_replacement_codepoint()
hb_buffer_get_replacement_codepoint()
2014-07-16 15:34:20 -04:00
Behdad Esfahbod
bcba8b4502
New API hb_buffer_add_codepoints()
...
Like hb_buffer_add_utf32, but doesn't do any Unicode validation.
This is like what hb_buffer_add_utf32 used to be until a couple
commits ago.
2014-07-16 14:59:04 -04:00
Behdad Esfahbod
625dbf141a
[buffer] Templatize UTF-* functions
2014-07-16 14:52:59 -04:00
Behdad Esfahbod
e634fed428
[buffer] Validate UTF-32 input
...
Same as what we do for UTF-8 and UTF-16.
2014-07-16 14:17:26 -04:00
Behdad Esfahbod
b98c5db32d
Minor refactoring
2014-07-16 13:44:01 -04:00
Behdad Esfahbod
844f1a487d
[tests] Add record-test.sh
2014-07-16 13:32:51 -04:00
Behdad Esfahbod
3b861421a7
Fix Mongolian Variation Selectors for fonts without GDEF
...
Originally we fixed those in 79d1007a50
.
However, fonts like MongolianWhite don't have GDEF, but have IgnoreMarks
in their LigatureSubstitute init/etc features. We were synthesizing a
GDEF class of mark for Mongolian Variation Selectors and as such the
ligature lookups where not matching. Uniscribe doesn't do that.
I tried with more sophisticated fixes, like, if there is no GDEF and
a lookup-flag mismatch happens, instead of rejecting a match, try
skipping that glyph. That surely produces some interesting behavior,
but since we don't want to support fonts missing GDEF more than we have
to, I went for this simpler fix which is to always mark
default-ignorables as base when synthesizing GDEF.
Micro-test added.
Fixes rest of https://bugs.freedesktop.org/show_bug.cgi?id=65258
2014-07-16 13:30:26 -04:00
Behdad Esfahbod
878a25375b
Minor
2014-07-16 13:21:59 -04:00
Behdad Esfahbod
ec181e5014
Minor moving around
2014-07-16 13:10:03 -04:00
Behdad Esfahbod
e7ce50d9eb
[indic] Fix access past end of array
2014-07-16 12:30:39 -04:00
Behdad Esfahbod
73e23b0acf
Whitespace
2014-07-15 18:43:49 -04:00
Behdad Esfahbod
f27be105af
[Android.mk] Actually remove static library
2014-07-11 18:15:34 -04:00
Behdad Esfahbod
96b80e9bcc
[Android.mk] Remove static library, add note re how to build
2014-07-11 17:00:12 -04:00
Behdad Esfahbod
b7bc0b671d
Simplify / speed up UTF-8 code
2014-07-11 16:22:13 -04:00
Behdad Esfahbod
af2490c095
Only accept well-formed UTF-8 sequences
...
Enable tests that were disabled before, and adjust one test,
and add more tests.
2014-07-11 16:22:13 -04:00
Behdad Esfahbod
7323d385cc
Simplify hb_utf_prev<16> to call hb_utf_next<16>
2014-07-11 16:22:13 -04:00
Behdad Esfahbod
c09a607a84
Use hb_in_range() for arabic and indic tables
...
Though, looks like gcc was smart enough to produce the same code
before...
2014-07-11 16:22:13 -04:00
Behdad Esfahbod
7627100f42
Mark unsigned integer literals with the u suffix
...
Simplifies hb_in_range() calls as the type can be inferred.
The rest is obsessiveness, I admit.
2014-07-11 16:22:13 -04:00
Behdad Esfahbod
a8b89a09f6
Simplify hb_in_range()
...
It's both faster and produces smaller code. Now I feel stupid for
not writing it this way before.
2014-07-11 14:18:01 -04:00
Behdad Esfahbod
db8934faa1
Simplify hb_utf_prev<8> to call hb_utf_next<8>
2014-07-11 13:58:36 -04:00
Behdad Esfahbod
efe74214bb
Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode codepoints
...
Only if the font doesn't support it. Ie, this gives the user to
use non-Unicode codepoints as private values and return a meaningful
glyph for them. But if it's invalid and font callback doesn't
like it, and if font has U+FFFD, show that instead.
Font functions that do not want this automatic replacement to
happen should return true from get_glyph() if unicode > 0x10FFFF.
Replaces https://github.com/behdad/harfbuzz/pull/27
2014-07-11 11:59:48 -04:00