|
83408cf8
|
2013-11-06T14:46:04
|
|
Fix llvm warnings on Mac
Patch from Scott Fleischman. Warnings were:
harfbuzz/src/hb-font-private.hh:121:42: Implicit conversion loses
integer precision: 'long long' to 'hb_position_t' (aka 'int')
harfbuzz/src/hb-font-private.hh:126:42: Implicit conversion loses
integer precision: 'long long' to 'hb_position_t' (aka 'int')
harfbuzz/src/hb-font-private.hh:400:85: Implicit conversion loses
integer precision: 'long long' to 'hb_position_t' (aka 'int')
harfbuzz/src/hb-ot-layout-common-private.hh:1115:37: Implicit conversion
loses integer precision: 'long long' to 'int'
harfbuzz/src/hb-ft.cc:421:97: Implicit conversion loses integer
precision: 'unsigned long long' to 'int'
harfbuzz/src/hb-ft.cc:422:97: Implicit conversion loses integer
precision: 'unsigned long long' to 'int'
|
|
755b44cc
|
2013-10-18T11:17:42
|
|
[ft] Round metrics instead of truncate
Lohit-Punjabi has a upem of 769! We were losing one unit in our
code, and FreeType is losing another one... Test with U+0A06.
Has an advance of 854 in the font. We were producing 852.
Now we do 853, which is what FreeType is telling us.
|
|
ace5c7eb
|
2013-09-13T20:34:42
|
|
[introspection] hb-ft annotations
|
|
e509d35c
|
2013-07-11T14:56:45
|
|
[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0
Based on patch from Jonathan Kew, as reported on the mailing list.
|
|
79d1007a
|
2013-06-13T19:01:07
|
|
If variation selector is not consumed by cmap, pass it on to GSUB
This changes the semantics of get_glyph() callback and expect that
callbacks return false if the requested variant is not available, and
then we will call them back with variation_selector=0 and will retain
the glyph for the selector in the glyph stream.
Apparently most Mongolian fonts implement the Mongolian Variation
Selectors using GSUB, not cmap.
https://bugs.freedesktop.org/show_bug.cgi?id=65258
Note that this doesn't fix the Mongolian shaping yet, because the way
that's implemented is that the, say, 'init' feature ligates the letter
and the variation-selector. However, since currently the variation
selector doesn't have the 'init' mask on, it will not be matched...
|
|
190e19e6
|
2013-03-09T20:30:22
|
|
[ft] Remove TODO items that I'm not going to fix
|
|
392ee974
|
2013-03-09T20:27:55
|
|
[ft] Remove TODO item re FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH
That flag is redundant, deprecated, and ignored since April 2011.
From FreeType git log:
commit 8c82ec5b17d0cfc9b0876a2d848acc207a62a25a
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 21 08:21:37 2011 +0200
Always ignore global advance.
This makes FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH redundant,
deprecated, and ignored. The new behavior is what every major user
of FreeType has been requesting. Global advance is broken in many
CJK fonts. Just ignoring it by default makes most sense.
* src/truetype/ttdriver.c (tt_get_advances),
src/truetype/ttgload.c (TT_Get_HMetrics, TT_Get_VMetrics,
tt_get_metrics, compute_glyph_metrics, TT_Load_Glyph),
src/truetype/ttgload.h: Implement it.
* docs/CHANGES: Updated.
|
|
5594c2d1
|
2013-03-06T19:37:31
|
|
[FT] Just return if glyph name not found
The fallback happens in higher level already. No need to do here.
|
|
e9171af5
|
2013-01-29T22:45:00
|
|
Bug 60053 - hb-common.cc:181:6: warning: ‘void free_langs()’ defined but not used
|
|
d05ac7dc
|
2012-11-12T10:26:50
|
|
Fix hb-ft glyph name for broken fonts that return empty glyph names
|
|
21756934
|
2012-08-08T01:20:45
|
|
[OT] Implement fallback positioning
Implemented for Arabic, Hebrew, and generic marks.
Activated if no GPOS table present.
|
|
271c8f89
|
2012-07-13T09:32:30
|
|
Minor
|
|
2023e2b5
|
2012-07-11T19:00:30
|
|
[ft] Disable ppem setting
The calculations were wrong.
FreeType makes it really hard to set size and ppem independently.
For now, disable it. Need to come up with a fix later.
|
|
cdf74445
|
2012-07-11T18:52:39
|
|
[ft] Use unfitted kerning if x_ppem is zero
|
|
0594a244
|
2012-06-05T20:35:40
|
|
Cleanup TRUE/FALSE vs true/false
|
|
f64b2ebf
|
2012-06-05T19:23:29
|
|
Remove last static initializer
We're free! Lazy or immediate...
|
|
04aed572
|
2012-06-05T18:30:19
|
|
Make hb-ft static-initializer free
|
|
f06ab8a4
|
2012-06-05T12:31:51
|
|
Better hide nil objects and make them const
|
|
bce09552
|
2012-05-27T11:29:21
|
|
Add hb_font_get_glyph_name() and hb_font_get_glyph_from_name()
|
|
323190c2
|
2012-04-12T12:29:10
|
|
Minor
|
|
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.
|
|
553bc3de
|
2011-08-15T16:21:06
|
|
Minor
|
|
254142bb
|
2011-08-15T16:15:44
|
|
[ft] FT_Select_Charmap() when we create face
|
|
9527fb20
|
2011-08-13T19:03:48
|
|
Fix missing return
|
|
01ec13a1
|
2011-08-10T22:00:35
|
|
Implement hb_ft_font_get_face
|
|
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.
|
|
de1e1cf9
|
2011-08-09T00:19:38
|
|
[FT] Adapt to new face API
|
|
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
|
|
c605bbbb
|
2011-08-04T20:00:53
|
|
Remove C++ guards from source files
Where causing issues for people with MSVC.
|
|
2d8ebcb9
|
2011-05-25T11:27:33
|
|
[API] One last font-funcs API change
Now that vertical text works correctly, I'm doing a last round
modification of the font-funcs API to simplify. Expect no more
changes around here.
|
|
60fbb360
|
2011-05-19T18:46:15
|
|
[Vertical] GPOS is always done with horizontal origin
|
|
8b38faee
|
2011-05-19T13:08:00
|
|
More vertical
Starting to get there, but not without yet another round of changes.
I think I know wheere to go now.
|
|
19098185
|
2011-05-17T23:27:22
|
|
Cosmetic
|
|
7e2c85de
|
2011-05-17T17:55:03
|
|
[API] Vertical support, take 2
I like this API *much* better. Implementation still incomplete, but
horizontal works.
|
|
744970af
|
2011-05-16T18:15:37
|
|
[API] Add support for vertical text
Design not final yet, and in fact I'm going to change it immediately,
but this is an standalone change for itself.
|
|
56d12e03
|
2011-05-16T16:01:58
|
|
Remove unnecessary TODO item
|
|
0fd8c2f1
|
2011-05-12T15:14:13
|
|
[API] Make get_glyph() callback return a boolean
We need to know whether the glyph exists, so we can fallback to
composing / decomposing. Assuming that glyph==0 means "doesn't exist"
wouldn't work for applications like Pango that want to use different
"doesn't exist" glyph codes for different characters. An explicit
return value fixes that.
|
|
805af724
|
2011-05-12T12:39:40
|
|
Rename get_kernings() arguments from first/second_glyph to left/right_glyph
Makes it clear that kerning is in visual order.
|
|
7033518f
|
2011-05-11T23:31:15
|
|
[API] Pass face to get_table()
|
|
b4678278
|
2011-05-11T23:25:28
|
|
[API] Remove const from font user_data
|
|
9a14688e
|
2011-05-11T22:49:29
|
|
[API] Rename hb_face_create_for_data() to hb_face_create()
|
|
a513dbcf
|
2011-05-11T00:24:34
|
|
[API] Change signature of get_contour_point and get_kerning ffuncs
get_contour_point now takes glyph id before point_index.
get_kerning now takes a vector to fill-in.
|
|
b9d975b9
|
2011-05-10T20:41:13
|
|
[API] Pass down closure user_data to font funcs
|
|
d2928858
|
2011-05-03T01:03:53
|
|
[ft] Fix font->face handling
Don't use _cached()
|
|
72657e4c
|
2011-05-02T20:46:32
|
|
[API] Make hb_font_create() take a face and reference it
|
|
fca368c4
|
2011-04-21T18:24:02
|
|
Add hb_object_header_t which is the common part of all objects
Makes way for adding arbitrary user_data support.
|
|
2409d5f8
|
2011-04-21T17:14:28
|
|
Update Copyright headers
|
|
783a7d69
|
2011-04-21T16:03:59
|
|
[TODO] Remove finished items
|
|
c57d454a
|
2011-04-20T18:50:27
|
|
Rename all private sources and headers to C++ files
So we can liberally use the simple features of C++ that parts of the
codebase is already using.
|
|
cc6d5227
|
2010-07-23T15:00:13
|
|
De-C++ where possible
Helps with avoiding many "extern C" declarations in source files.
|
|
c442672e
|
2010-05-24T18:02:32
|
|
Fix struct initializers
|
|
750a2294
|
2010-05-20T16:23:27
|
|
get_table() is allowed to return NULL. Use that to simplify code
|
|
0a4399ca
|
2010-05-19T15:45:06
|
|
Fix scale issues
hb_font_set_scale() now sets the value to be used to represent a unit
pixel. For example, if rendering a 10px font with a 26.6 representation,
you would set scale to (10 << 6). For 10px in 16.16 you would set it to
(10 << 16). This space should be the same space that the get_glyph_metrics
and get_kerning callbacks work in.
|
|
22da7fd9
|
2010-05-12T18:23:21
|
|
Rename a few files to be C++ sources
In anticipation for buffer revamp coming.
|