|
b7bc0b67
|
2014-07-11T16:20:28
|
|
Simplify / speed up UTF-8 code
|
|
af2490c0
|
2014-07-11T16:10:58
|
|
Only accept well-formed UTF-8 sequences
Enable tests that were disabled before, and adjust one test,
and add more tests.
|
|
c09a607a
|
2014-07-11T15:05:36
|
|
Use hb_in_range() for arabic and indic tables
Though, looks like gcc was smart enough to produce the same code
before...
|
|
7627100f
|
2014-07-11T14:54:42
|
|
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.
|
|
7323d385
|
2014-07-11T15:10:05
|
|
Simplify hb_utf_prev<16> to call hb_utf_next<16>
|
|
a8b89a09
|
2014-07-11T14:18:01
|
|
Simplify hb_in_range()
It's both faster and produces smaller code. Now I feel stupid for
not writing it this way before.
|
|
db8934fa
|
2014-07-11T13:58:36
|
|
Simplify hb_utf_prev<8> to call hb_utf_next<8>
|
|
efe74214
|
2014-07-11T11:59:48
|
|
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
|
|
6f13b6d6
|
2014-07-10T19:31:40
|
|
When parsing UTF-16, generate invalid codepoint for lonely low surrogate
Test passes now.
|
|
24b2ba9d
|
2014-07-10T19:31:16
|
|
[test-buffer] Add test for lonely low-surrogate
Currenty fails. Ouch!
|
|
6334495a
|
2014-07-10T19:22:07
|
|
Use zh-Hans / zh-Hant when converting OT language tag to hb_language_t
|
|
f381e320
|
2014-07-10T19:20:35
|
|
Fix lang matching logic
Previous code was broken logically, but harmless.
|
|
ee5350d6
|
2014-07-10T19:06:45
|
|
Accept BCP 47 zh-Hans / zh-Hant language tags
|
|
43154028
|
2014-07-10T17:37:26
|
|
[Android.mk] Add note re static library
|
|
5b4131eb
|
2014-07-09T19:09:08
|
|
[Android.mk] Update for new ICU
https://android-review.googlesource.com/#/c/100722/1/Android.mk
|
|
ab28196c
|
2014-07-09T18:18:06
|
|
[Android.mk] Re-enable ICU unicode funcs
|
|
ea001374
|
2014-07-09T17:28:43
|
|
0.9.30
|
|
8b16ff12
|
2014-07-09T17:40:52
|
|
[uniscribe] Fix build after recent changes to Offset
|
|
73f7f891
|
2014-07-09T17:17:18
|
|
Define _POSIX_C_SOURCE only if it is not defined
Fixes https://github.com/behdad/harfbuzz/pull/45
|
|
6bd5646f
|
2014-07-09T17:07:06
|
|
[tests] Remove bash'ish
Apparently on travis-ci, bash is linked to dash, which doesn't
understand "let". Failing tests were not being noticed. See eg:
https://travis-ci.org/behdad/harfbuzz/jobs/29544211
Don't rely on bash.
|
|
0afedaa9
|
2014-07-09T17:00:48
|
|
[util/hb-shape] Fix crash; oops
|
|
0cd94491
|
2014-07-09T16:51:38
|
|
[ucdn] Update to Unicode 7.0.0 data
From http://github.com/behdad/ucdn
|
|
9d4ede3a
|
2014-07-09T16:19:55
|
|
[Android.mk] Update source list
|
|
7e1ab1f6
|
2014-07-09T16:13:40
|
|
[Android.mk] Whitespace
|
|
5c6695c4
|
2014-07-09T16:07:12
|
|
[Android.mk] Remove -lpthread; we build with -DHB_NO_MT
|
|
9109f1e9
|
2014-07-08T20:02:29
|
|
[util/hb-shape] Accept an empty output-format that would skip output
Useful for benchmarking, to avoid buffer serialization overhead (which
seems to by far dominate shaping!)
|
|
86564085
|
2014-07-08T18:10:20
|
|
[util] Fix hb-view rendering with --font-funcs=ot
|
|
8650def7
|
2014-07-05T15:50:18
|
|
[util] Add option to set font function implementation to use
Supports ft and ot right now. hb-view currently not rendering with ot.
Will fix after some clean up.
|
|
2306ad46
|
2014-07-04T18:09:29
|
|
[util] Fix memory issue
|
|
14a4a9d6
|
2014-07-01T15:51:54
|
|
Add Roozbeh to AUTHORS
He's been my shadow for all Indic-related changes in the last
few months.
|
|
68f72448
|
2014-06-30T15:46:53
|
|
[indic] Remove some more now-unused special-cases
|
|
e79c9489
|
2014-06-30T15:39:39
|
|
[indic] Remove special-casing of U+1CF2,1CF3
These were introduced in a498565cedf0441ae723c5e5969f637d792a15e7,
but IndicSyllabicCategory has had the correct value already, so the
special code was never needed.
|
|
d743ce78
|
2014-06-30T15:24:02
|
|
[indic-table] Update to Unicode 7.0 data
Touch code just enough to preserve previous syllable structure
and functionality as closely as possible. Many further cleanups
coming later.
|
|
5fa21b3a
|
2014-06-30T14:30:54
|
|
[indic-table] Fix category frequency counts in comments
|
|
5c4e3e9a
|
2014-06-30T14:25:18
|
|
Whitespace
|
|
af528b66
|
2014-06-27T18:07:00
|
|
Fix typo; ouch!
|
|
7d4ada66
|
2014-06-27T17:30:59
|
|
Mark unsed members with a "Z" suffix
There may be more. There are members that are by definition
redundant or reserved and not needed, NOT what we *currently*
don't use.
I'm sure there's more...
|
|
23afcff1
|
2014-06-27T17:22:36
|
|
[ot-font] Implement Unicode variation selectors
|
|
a5a47369
|
2014-06-27T17:03:22
|
|
[cmap] Implement subtable format 14
|
|
586b6062
|
2014-06-27T15:39:47
|
|
Minor: final bits of cleanup
|
|
51d9ba09
|
2014-06-27T15:27:15
|
|
Minor
|
|
3084767e
|
2014-06-27T15:24:35
|
|
Minor: Remove LongArrayOf
|
|
41ea5949
|
2014-06-27T15:23:18
|
|
Minor: Remove LongSortedArrayOf
|
|
bb6ecf2c
|
2014-06-27T15:13:44
|
|
Minor: Remove LongOffsetArrayOf and LongOffsetLongArrayOf
|
|
99d28171
|
2014-06-27T15:12:52
|
|
Minor: Remove GenericOffset
|
|
9da552dc
|
2014-06-27T15:09:42
|
|
Minor: Remove some GenericXXX templates
|
|
36073ede
|
2014-06-27T14:48:54
|
|
Minor: Reorder template parameter order
|
|
0394ec1b
|
2014-06-27T14:40:35
|
|
Minor: Introduce GenericOffset
|
|
0d1b3419
|
2014-06-26T19:13:34
|
|
Minor: Use template parameter default values for OffsetTo
|
|
546b1adc
|
2014-06-26T19:10:21
|
|
Minor: Use template parameter default values for hb_prealloced_array_t
|
|
911ca386
|
2014-06-24T10:20:36
|
|
Add back API removed recently
Add hb_ot_layout_language_get_required_feature_index() again, which
is used in Pango. This was removed in
da132937989acb4d8ca9bd41c79f98750e7dda30 in favor of
hb_ot_layout_language_get_required_feature().
API changes:
- Added hb_ot_layout_language_get_required_feature_index back.
|
|
89e49469
|
2014-06-22T11:32:13
|
|
Add new IndicSyllabicCategory short forms for Unicode 7.0
|
|
dcee838e
|
2014-06-22T11:29:59
|
|
Minor
|
|
f2ad86e6
|
2014-06-21T15:31:10
|
|
[indic-table-gen] Minor
|
|
2ec62279
|
2014-06-21T15:25:59
|
|
[indic-table] Update to Unicode 6.3.0
Was from 6.2.0. It's a no-op. Committing for the record.
|
|
5d4d7384
|
2014-06-21T14:53:21
|
|
Minor: format
|
|
44243ae5
|
2014-06-21T14:19:34
|
|
[arabic-table] Update to Unicode 7.0
Old table was from 6.2. Remove hard-coded Mongolian and Phags-pa data.
This completes support for new scripts Manichian and Psaltar Pahlavi.
|
|
cd86ab9b
|
2014-06-21T14:10:38
|
|
[arabic-table] Add ZWJ/ZWNJ now that table is segmented
|
|
2390d9b6
|
2014-06-21T14:07:00
|
|
[arabic-table] Further tune
In anticipation of Unicode 7.0 data coming in the next commit.
|
|
a133e606
|
2014-06-20T18:01:34
|
|
[indic-table] Minor
|
|
b900fa2c
|
2014-06-20T17:59:43
|
|
[arabic-table] Use segmented table
No functional change.
|
|
c2e11340
|
2014-06-20T17:57:03
|
|
[indic-table] Make output stable
|
|
55abfbd2
|
2014-06-20T16:47:43
|
|
[indic-table] Minor
No output change.
|
|
f8867074
|
2014-06-20T16:30:10
|
|
[arabic-table] Don't write comments
No functional change.
|
|
200dfe3e
|
2014-06-20T16:20:59
|
|
[arabic-table] Use short names for values
No functional change.
|
|
3f5327a4
|
2014-06-20T16:17:42
|
|
[arabic-table] Read Blocks.txt and shuffle code around
No functional change.
|
|
171f970e
|
2014-06-20T15:25:30
|
|
[indic-table] Black-list Thai, Lao, and Tibetan
We don't need Indic table for those.
|
|
65ac2dae
|
2014-06-20T15:12:49
|
|
[indic-table] Speed up lookup
|
|
64442a3f
|
2014-06-20T14:58:53
|
|
[indic-table] Fix compiler warning
|
|
0436e1d5
|
2014-06-20T14:56:22
|
|
[indic-table] Make table more compact by not covering full blocks
-#define indic_offset_total 4416
+#define indic_offset_total 3816
-}; /* Table occupancy: 60% */
+}; /* Table occupancy: 69% */
|
|
190a2514
|
2014-06-20T14:41:39
|
|
[indic-table] Remove block range from data table
No functional change.
|
|
2b051c60
|
2014-06-20T14:09:57
|
|
Rename HB_VERSION_CHECK and hb_version_check to "atleast"
HB_VERSION_CHECK's comparison was originally written wrongly
by mistake. When API tests were written, they were also written
wrongly to pass given the wrong implementation... Sigh.
Given the purpose of this API, there's no point in fixing it
without renaming it. As such, rename.
API changes:
HB_VERSION_CHECK -> HB_VERSION_ATLEAST
hb_version_check -> hb_version_atleast
|
|
cabfa538
|
2014-06-20T13:51:21
|
|
Adjust unused doc symbols
|
|
da132937
|
2014-04-27T14:05:24
|
|
Rework handling of requiredFeature to solve problem with rlig in arial.ttf from winxp
https://bugzilla.mozilla.org/show_bug.cgi?id=986802
Fixes https://github.com/behdad/harfbuzz/pull/39
API Change:
-hb_ot_layout_language_get_required_feature_index
+hb_ot_layout_language_get_required_feature
New API takes an extra pointer argument. Pass NULL in to get
behavior of previous API.
Reworked by behdad
|
|
df554af9
|
2014-06-19T15:39:18
|
|
Rename search() to bsearch() and lsearch()
Such that the complexity of the algorithm used is clear at
call site.
|
|
fb8cc86f
|
2014-06-19T15:30:18
|
|
Rename sort() to qsort()
In an effort to make the algorithm used clear.
|
|
577ca481
|
2014-06-18T12:29:23
|
|
[unicode7] Update list of Default_Ignorable codepoints
|
|
7cfee382
|
2014-04-28T15:09:30
|
|
[unicode7] Route Manichaean and Psalter Pahlavi through Arabic shaper
Still needs update to joining table to fully work.
|
|
a4a7899c
|
2014-04-28T15:06:42
|
|
[unicode7] Mark right-to-left scripts
|
|
62587bfc
|
2014-04-28T15:07:21
|
|
[unicode7] Declare Unicode 7 scripts
|
|
dc61294a
|
2014-04-28T14:58:28
|
|
[unicode7] Add missing ISO 15924 tags
|
|
7526373e
|
2014-06-17T11:45:26
|
|
[coretext] Remove unused var
|
|
798e4185
|
2014-06-10T13:10:30
|
|
When zeroing mark widths for LTR, also adjust offset...
...so that they overstrike preceding glyph.
https://github.com/behdad/harfbuzz/pull/43
|
|
80f7405a
|
2014-06-10T13:10:02
|
|
[Thai] set the correct general category on Nikhahit when decomposing Sara-Am.
|
|
1d634cbb
|
2014-06-06T17:55:02
|
|
Fix base-position when 'pref' is NOT formed
If pre-base reordering Ra is NOT formed (or formed and then
broken up), we should consider that Ra as base. This is
observable when there's a left matra or dotreph that positions
before base.
Now, it might be that we shouldn't do this if the Ra happend
to form a below form. We can't quite deduce that right now...
Micro test added. Also at:
https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=186#c29
|
|
04dc52fa
|
2014-06-06T17:28:38
|
|
[indic] Recover OT_H undergone ligation and multiplication
Sometimes font designers form half/pref/etc consonant forms
unconditionally and then undo that conditionally. Try to
recover the OT_H classification in those cases.
No test number changes expected.
|
|
39c8201f
|
2014-06-06T17:19:35
|
|
[indic] Improve base re-finding
No test numbers change.
|
|
c04d5f0d
|
2014-06-06T17:02:39
|
|
[indic] Minor
|
|
824d00dc
|
2014-06-09T14:17:33
|
|
Fix commit 3f38c1137b6219a646da141b08463ffa922d4e35
Previous commit was not compiling with clang.
|
|
3f38c113
|
2014-06-06T16:03:40
|
|
Don't use -mstructure-size-boundary=8 on clang arm
As in building for Android / iPhone. Only set it if
struct{char} alignment is not 1.
NOT tested on an actual Arm architecture. Guess we'll know
when this makes it to people's build bots.
|
|
0ff74b09
|
2014-06-05T21:55:23
|
|
Add missing test file. Oops
|
|
832a6f99
|
2014-06-04T16:57:42
|
|
[indic] Don't reorder reph/pref if ligature was expanded
Normally if you want to, say, conditionally prevent a 'pref', you
would use blocking contextual matching. Some designers instead
form the 'pref' form, then undo it in context. To detect that
we now also remember glyphs that went through MultipleSubst.
In the only place that this is used, Uniscribe seems to only care
about the "last" transformation between Ligature and Multiple
substitions. Ie. if you ligate, expand, and ligate again, it
moves the pref, but if you ligate and expand it doesn't. That's
why we clear the MULTIPLIED bit when setting LIGATED.
Micro-test added. Test: U+0D2F,0D4D,0D30 with font from:
[1]
https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=186#c29
|
|
b5be2317
|
2014-06-05T19:00:22
|
|
[gsub] Adjust single-length ligature subst to act like single subst
|
|
aae69451
|
2014-06-05T18:54:44
|
|
[gsub] Minor shuffling
|
|
b6b304f1
|
2014-06-05T17:12:54
|
|
[ot] Add TODO re zero-len MultipleSubst sequences
|
|
f1a72fe7
|
2014-06-04T19:00:29
|
|
[ot-font] Fix cmap EncodingRecord cmp order
|
|
ce34f0b0
|
2014-06-04T18:57:46
|
|
[ot-font] Use binary search for format12 cmap subtable
|
|
257d1adf
|
2014-06-04T18:47:55
|
|
[ot-font] Work around broken cmap subtable format 4 length
Roboto was hitting this. FreeType also has pretty much the
same code for this, in ttcmap.c:tt_cmap4_validate():
/* in certain fonts, the `length' field is invalid and goes */
/* out of bound. We try to correct this here... */
if ( table + length > valid->limit )
{
if ( valid->level >= FT_VALIDATE_TIGHT )
FT_INVALID_TOO_SHORT;
length = (FT_UInt)( valid->limit - table );
}
|
|
51f56357
|
2014-06-04T18:42:32
|
|
Move try_set to sanitize context
|
|
500737e8
|
2014-06-04T18:17:29
|
|
[ot-font] Don't select a Null cmap subtable
Can happen either in broken fonts, or as a result of sanitize().
|