|
71632c96
|
2012-01-22T15:31:44
|
|
Fallback to Latin script if the font has no other usable scripts
Patch and description from Jonathan Kew:
It turns out that some legacy Thai fonts provide OpenType substitution
features to implement mark positioning, but (incorrectly) put those
features/lookups under the 'latn' script tag instead of using 'thai' (or
possibly 'DFLT'). See
https://bugzilla.mozilla.org/show_bug.cgi?id=719366 for an example and
more detailed description.
Although this is really a font bug, I suggest that we could improve the
rendering of such fonts by looking for the 'latn' as a fallback if
neither the requested script nor "default" is found in
hb_ot_layout_table_choose_script. Suggested patch against harfbuzz
master is attached.
This does _not_ affect the other kind of legacy Thai font, where custom
code to support vendor-specific PUA codepoints would be needed. I'm not
keen to go down that path; IMO, such fonts should be ruthlessly stamped
out in favour of standards-based solutions. :)
JK
|
|
7a4a848d
|
2012-01-19T15:15:21
|
|
Minor
|
|
3b5c22c3
|
2012-01-19T14:28:11
|
|
Remove src/test.cc
Not really useful.
|
|
889caa52
|
2012-01-18T22:32:52
|
|
[icu] Use U_FAILURE
|
|
36a4f4a4
|
2012-01-18T22:16:49
|
|
Replace u_strlen() with u_countChar32()
The latter is what I meant.
|
|
c521e793
|
2012-01-18T21:51:05
|
|
Fix OOB in replace_glyph()
Patch from Kenichi Ishibashi.
|
|
03408ce7
|
2012-01-18T21:28:34
|
|
Fix more possible buffer overruns
I have this function, but can't clean up it to my satisfaction.
|
|
7d479900
|
2012-01-18T21:19:32
|
|
Refactor the two remaining uses of _hb_ot_layout_skip_mark()
|
|
506ffeb8
|
2012-01-18T16:07:53
|
|
Further mark skippy fixes from Jonathan Kew
We should be in good shape now.
|
|
a4a48fe6
|
2012-01-17T18:08:41
|
|
Fix mark skipping regression
Ouch!
|
|
4ab97311
|
2012-01-16T22:05:08
|
|
Refactor mark skipping
|
|
370f03e9
|
2012-01-16T17:03:55
|
|
Minor
|
|
4d3aeb8c
|
2012-01-16T16:43:26
|
|
[GSUB/GPOS] Fix mark skip indexing issues
Mozilla bug 701637 and 714067 combined.
Patch from Jonathan Kew.
|
|
e8eedf26
|
2012-01-16T16:39:40
|
|
Avoid enum trailing commas
Based on patch from Jonathan Kew.
|
|
299ae0c3
|
2012-01-14T21:29:45
|
|
[icu] Remove glib-ism
|
|
af921354
|
2011-10-21T09:18:43
|
|
Minor
|
|
89d89646
|
2011-10-17T11:50:54
|
|
Fix intrin.h b0rkage with older MSVC
Reported by Jonathan Kew.
|
|
af913c57
|
2011-10-17T11:39:28
|
|
Fix infinite loop in normalization code with variation selectors
Reported by Jonathan Kew.
|
|
55deff75
|
2011-09-28T16:20:09
|
|
Add comments
|
|
52ebdff4
|
2011-09-27T12:38:16
|
|
Fix GSUB lookuptype 1 subtype 1 delta wrapping
|
|
b95324cd
|
2011-09-21T16:50:39
|
|
Minor
|
|
0cd33592
|
2011-09-21T16:49:33
|
|
Fix possible leaks
|
|
d606daa4
|
2011-09-20T14:34:06
|
|
Whitespace
|
|
f83f0f48
|
2011-09-19T18:51:48
|
|
[graphite] Add note about graphite shaker brokenness
|
|
0a965eee
|
2011-09-19T16:53:47
|
|
Minor
|
|
5c299343
|
2011-09-19T14:53:26
|
|
[uniscribe] Various improvements
|
|
5ddd9cc4
|
2011-09-16T16:40:44
|
|
Minor
|
|
947c9a77
|
2011-09-16T16:33:18
|
|
Minor
|
|
d5476a30
|
2011-09-16T12:30:50
|
|
Minor
|
|
36b10f58
|
2011-09-15T16:29:51
|
|
Minor
|
|
c4611cb6
|
2011-09-13T13:33:11
|
|
Fix test
|
|
bc187e5a
|
2011-09-08T13:35:17
|
|
Refine Indic scripts, following Martin Hosken's recommendation
|
|
738d096a
|
2011-09-02T13:31:19
|
|
Pass through unknown ISO 639-3 language tags to OpenType engine
In hb_ot_tag_from_language(), if first component of an unknown
language is three letters long, use it directly as OpenType language
tag (after case conversion and padding).
|
|
ea02cbf0
|
2011-09-02T12:39:20
|
|
[graphite] Don't preload glyphs
Doesn't seem to be slower.
|
|
210a06f3
|
2011-08-26T13:39:49
|
|
Minor
|
|
4a8d2e37
|
2011-08-26T09:40:54
|
|
[graphite2] Chop a few more lines
|
|
81ec289d
|
2011-08-26T09:33:06
|
|
Minor
|
|
3380de5a
|
2011-08-26T09:30:49
|
|
[graphite] Use buffer->replace_glyphs()
|
|
9ebe8c02
|
2011-08-26T09:29:42
|
|
Add buffer->replace_glyphs()
|
|
a5edb103
|
2011-08-26T09:27:13
|
|
Minor
|
|
290e3ee5
|
2011-08-26T09:25:04
|
|
[graphite] Only pass the first part language tag to graphite
Still not sure about:
1) Case. We pass lowercase for now. Would be nice if graphite was
uppercase 3letter like OpenType,
2) Padding. IMO, tag padding is always with spaces, but Martin was
talking about NUL bytes.
|
|
4c9fe88d
|
2011-08-26T09:18:53
|
|
[API] Make all _from_string() functions take a len parameter
Can be -1 for NUL-terminated string. This is useful for passing parts
of a larger string to a function without having to copy or modify the
string first.
Affected functions:
hb_tag_t hb_tag_from_string()
hb_direction_from_string()
hb_language_from_string()
hb_script_from_string()
|
|
a499bdea
|
2011-08-25T22:46:21
|
|
[graphite2] Bail if grface is NULL
|
|
3007ffa9
|
2011-08-25T09:08:53
|
|
Reorder combining-class to better suit Arabic shadda mark-mark positioning
As reported by Khaled on the list:
"After the introduction of canonical reordering of combining marks
(commit 34c22f8), I'm no longer able to do mark/mark substitution or
positioning for mark sequences that involve shadda as a first mark (or
most interesting sequences at least).
"After some digging, it turned out that shadda have a ccc=33 while most
Arabic marks that combine with it have a lower ccc value, which results
in the shadda being reordered after the other mark which,
unsurprisingly, breaks my contextual substitution and mkmk anchors."
See:
http://unicode.org/faq/normalization.html#8
http://unicode.org/faq/normalization.html#9
|
|
74ef81a0
|
2011-08-24T19:16:13
|
|
Fix make distcheck
|
|
24bcdbcc
|
2011-08-24T19:13:15
|
|
Add hb-ot-hmtx-table.hh
Oops!
|
|
a3bd8a0e
|
2011-08-24T03:22:49
|
|
[graphite] Rewrite properly
|
|
5072934c
|
2011-08-24T02:24:27
|
|
Minor
|
|
71388b3e
|
2011-08-24T02:09:04
|
|
[uniscribe] Minor
|
|
cd2b9010
|
2011-08-24T01:47:25
|
|
[graphite] Minor
|
|
834af3b4
|
2011-08-24T01:45:47
|
|
[graphite] Remove hb_graphite2_feature_check()
I don't see how this function can be useful.
|
|
1f49cf32
|
2011-08-24T01:29:25
|
|
Add graphite2 integration from Martin Hosken
To be modified, a lot.
|
|
0e6d36d8
|
2011-08-24T01:31:29
|
|
Minor
|
|
efde8113
|
2011-08-23T00:04:57
|
|
Add a constructor for hb_prealloced_array_t
Fixes build with MSVC.
|
|
d75333f1
|
2011-08-19T19:59:24
|
|
Add gobject enum support, but disabled for now
need to figure out the naming. The generated code doesn't have the
right name.
|
|
7d235d27
|
2011-08-17T23:55:29
|
|
Flesh out tt funcs a bit
|
|
b9415e76
|
2011-08-17T19:21:44
|
|
[API] Add hb_font_set_funcs_data()
|
|
e6c09cdf
|
2011-08-17T19:07:59
|
|
Remove the pre_allocate argument from hb_buffer_create()
For two reasons:
1. User can always call hb_buffer_pre_allocate() themselves, and
2. Now we do a pre_alloc in add_utfX anyway, so the total number of
reallocs is limited to a small number (~3) anyway. This just makes the
API cleaner.
|
|
187bdeaa
|
2011-08-17T19:03:06
|
|
Do (nothing for) hmtx sanitize
|
|
d6016e49
|
2011-08-17T14:47:41
|
|
Fix name-table sanitize
|
|
ae9877de
|
2011-08-17T14:43:45
|
|
Add hhea-table support
|
|
7a750ac3
|
2011-08-17T14:19:59
|
|
Rename table files from eg maxp-private.hh to maxp-table.hh
|
|
0b7e4d9f
|
2011-08-15T20:41:59
|
|
[ft] FT_Get_Advance() for advance-width callbacks
Using graphite2's comparerenderer suggests that this makes hb-ft 15
times faster. No caching layer needed anymore.
|
|
4e9ff1dd
|
2011-08-15T16:21:22
|
|
Pre-allocate buffers when adding string
We do a conservative estimate of the number of characters, but still,
this limits the number of buffer reallocs to a small constant.
|
|
553bc3de
|
2011-08-15T16:21:06
|
|
Minor
|
|
254142bb
|
2011-08-15T16:15:44
|
|
[ft] FT_Select_Charmap() when we create face
|
|
a4cbd03d
|
2011-08-15T09:52:05
|
|
Apply 'locl' with 'ccmp' in Arabic shaper
According to Peter Constable this is indeed what Uniscribe has been
doing for years.
Mozilla Bug 667166 - wrong shape of letter when it comes at the end of
word in the arabic version of Firefox 5.0
|
|
c214cff5
|
2011-08-14T15:17:16
|
|
Start adding gobject-introspection support
|
|
9527fb20
|
2011-08-13T19:03:48
|
|
Fix missing return
|
|
77a32876
|
2011-08-13T17:16:45
|
|
Minor
|
|
d6660356
|
2011-08-10T22:08:36
|
|
Add uniscribe font getters
|
|
01ec13a1
|
2011-08-10T22:00:35
|
|
Implement hb_ft_font_get_face
|
|
0501573d
|
2011-08-10T16:25:56
|
|
Fix const correctness in the API
|
|
511a136f
|
2011-08-09T15:03:00
|
|
Move hb-view into util/
|
|
d753ac78
|
2011-08-09T14:03:12
|
|
[uniscribe] Remove zerowidth glyphs from output
|
|
ddd247b0
|
2011-08-09T11:44:42
|
|
Minor
|
|
1b8196c9
|
2011-08-09T11:37:46
|
|
Add fallback shaper
|
|
13a601fe
|
2011-08-09T11:36:54
|
|
[FT] Don't make font immutable
|
|
38b21187
|
2011-08-09T10:51:24
|
|
[API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()
Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway.
Add hb_ft_font_set_funcs(). Which will make the font internally use
FreeType. That is, no need for the font to have created using the
hb-ft API. Just create using hb_face_create()/hb_font_create() and
then call this on the font (after having set font scale). This
internally creates an FT_Face and attached to the font.
|
|
255f176f
|
2011-08-09T08:35:07
|
|
Minor
|
|
a9057eb3
|
2011-08-09T00:47:55
|
|
[uniscribe] Unbreak
|
|
33ccc779
|
2011-08-09T00:43:24
|
|
[API] Make set_user_data() functions take a replace parameter
We need this to set data on objects safely without worrying that some
other thread unsets it by setting it at the same time.
|
|
944b2ba1
|
2011-08-09T00:23:58
|
|
[buffer] Make API take signed int length
Since we already switched to accepting -1 as 'zero-terminated'.
|
|
de1e1cf9
|
2011-08-09T00:19:38
|
|
[FT] Adapt to new face API
|
|
bf3eef54
|
2011-08-09T00:13:24
|
|
[uniscribe] Cleanup backend
|
|
3897335c
|
2011-08-08T23:37:41
|
|
[API] Sort out get_blob API
hb_face_get_blob() renamed to hb_face_reference_blob(), returns a
reference now.
hb_face_[sg]et_index() added.
hb_face_set_upem() added.
|
|
e715784b
|
2011-08-08T21:42:02
|
|
Rename get_table to reference_table in all API
|
|
670c8734
|
2011-08-08T21:36:24
|
|
Fix shaper ordering logic
|
|
cc797e0d
|
2011-08-08T03:49:30
|
|
Minor
|
|
826e2273
|
2011-08-07T03:53:42
|
|
[uniscribe] Fix blob lifecycles
|
|
ff199ba3
|
2011-08-07T03:43:46
|
|
Fix shaper_list manipulation, aaaaaaaaaaaaargh
|
|
577326b8
|
2011-08-07T01:04:40
|
|
[uniscribe] Fix cluster calculation
|
|
f6d83b2d
|
2011-08-07T00:59:58
|
|
Minor
|
|
2eb474af
|
2011-08-07T00:59:38
|
|
[uniscribe] Fix shaper
It's kinda working finally!
|
|
f22e6611
|
2011-08-07T00:59:12
|
|
[glib] Protect against invalid characters
|
|
144cd49a
|
2011-08-07T00:51:50
|
|
[buffer] Accept -1 for text_length and item_length
A -1 text_length means: zero-terminated string.
A -1 item_length means: to the end of string.
|
|
e9c71fab
|
2011-08-07T00:00:27
|
|
Fix name-table lookup
Oops!
|
|
3fd2b5be
|
2011-08-06T22:59:54
|
|
[uniscribe] Use font size directly
|
|
892eb2e4
|
2011-08-06T22:06:52
|
|
[uniscribe] Make font selection work
Not tested yet.
|
|
b492299e
|
2011-08-05T20:34:50
|
|
Start implementing the 'name' table
|