|
8c29dcae
|
2022-10-13T12:04:32
|
|
s/HBFixed/F16DOT16/g
|
|
ad28f973
|
2021-03-31T12:49:14
|
|
Rename offset types to be explicit about their size
Add Offset16To<>, Offset24To<>, and Offset32To<> for most use-cases.
|
|
08428a15
|
2020-04-24T23:45:17
|
|
minor, spacing
|
|
47f5a860
|
2020-03-10T13:57:46
|
|
minor, use NN on every OffsetTo<UnsizedArrayOf<>>
|
|
ce114d6b
|
2019-12-31T15:53:02
|
|
minor, tweak spaces
|
|
229ef1d2
|
2019-09-10T10:31:07
|
|
Rename Fixed to HBFixed
Fixes(!!) https://github.com/harfbuzz/harfbuzz/issues/1966
|
|
a0b4ac4d
|
2019-08-24T17:57:14
|
|
Turn 8 spaces to tab across the project
According to the current code style of the project
|
|
bbad1b82
|
2019-08-20T14:46:48
|
|
[trak] minor, use roundf instead round to normalize the use
The change to `round` wasn't intended
|
|
37de38ad
|
2019-08-20T12:59:33
|
|
Merge branch 'master' into remove-coretext-96dpi-assumption
|
|
dfc57802
|
2019-05-07T23:26:09
|
|
Fix more double-promotion errors
WHy do only some of the clang bots catch this I have no idea :(.
|
|
92588782
|
2019-04-30T13:05:10
|
|
Remove space between right angle brackets now that we have C++11 (#1689)
|
|
ef006549
|
2019-01-22T12:08:57
|
|
Convert tag enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
|
|
b1152d5e
|
2019-01-17T18:17:04
|
|
Use NNOffsetTo<>
|
|
f401f85a
|
2018-12-17T00:48:35
|
|
Remove assumption about Core Text working in 96 DPI
Core Text doesn't actually have a concept of DPI internally, as it
doesn't rasterize anything by itself, it just generates vector paths
that get passed along to Core Graphics.
In practice this means Core Text operates in the classical macOS
logical DPI of 72, with one typographic point corresponding to one
point in the Core Graphics coordinate system, which for a normal
bitmap context then corresponds to one pixel -- or two pixels for
a "retina" context with a 2x scale transform.
Scaling the font point sizes given to HarfBuzz to an assumed DPI
of 96 is problematic with this in mind, as fonts with optical
features such as 'trak' tables for tracking, or color glyphs,
will then base the metrics off of the wrong point size compared
to what the client asked for.
This in turn causes mismatches between the metrics of the shaped
text and the actual rasterization, which doesn't include the 72
to 96 DPI scaling.
If a 96 DPI is needed, such as on the Web, the scaling should be
done outside of HarfBuzz, allowing the client to keep the DPI of
the shaping in sync with the rasterization.
The recommended way to do that is by scaling the font point size,
not by applying a transform to the target Core Graphics context,
to let Core Text choose the right optical features of the target
point size, as described in WWDC 2015 session 804:
https://developer.apple.com/videos/play/wwdc2015/804/
|
|
e4120085
|
2018-12-17T21:31:01
|
|
Remove redundant void from C++ sources (#1486)
|
|
b2ebaa9a
|
2018-12-16T22:38:10
|
|
Remove redundant 'inline' from methods (#1483)
|
|
7ee5c523
|
2018-12-12T15:14:37
|
|
minor style fix, use void in methods on no argument
|
|
5c4fead7
|
2018-11-29T15:04:34
|
|
Convert "static const hb_tag_t" constants to enum
|
|
4a3b2073
|
2018-11-24T10:17:59
|
|
[trak] Coment
|
|
aa065748
|
2018-11-16T14:31:05
|
|
Minor
|
|
1d82b476
|
2018-11-10T18:08:11
|
|
[colr/feat/trak] minor
|
|
b989507f
|
2018-11-08T20:48:54
|
|
[aat] Minor (#1369)
|
|
72462eb7
|
2018-11-02T11:46:24
|
|
Add UnsizedArrayOf::as_array() instead of hb_array() template
|
|
cf92d657
|
2018-10-23T03:10:56
|
|
[trak] Allow disabling tracking for ranges of text
Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
|
|
8d689f8a
|
2018-10-22T21:33:18
|
|
Add hb_array<>() specialization for UnsizedArrayOf
Related https://github.com/harfbuzz/harfbuzz/issues/1301
|
|
abfbba19
|
2018-10-22T21:27:45
|
|
Add hb_array<>()
Simplifies transient object creation.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1301
|
|
d7865107
|
2018-10-22T16:18:34
|
|
Remove const from hb_array_t details
Will come in through <T> if desired.
|
|
79b63561
|
2018-10-19T11:00:20
|
|
[trak] Fix extrapolation at end side
|
|
9d42d702
|
2018-10-17T17:55:47
|
|
[trak] Fix calc
We were getting the first track record always. Ie. this line:
if (trackTable[i].get_track_value () == 0.f)
{
- trackTableEntry = &trackTable[0];
+ trackTableEntry = &trackTable[i];
break;
}
The rest is cleanup.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1263 for the most part.
|
|
04f72e89
|
2018-10-11T11:25:07
|
|
[trak] Implement extrapolation
This concludes trak, as well as AAT shaping support!
|
|
d6a12dba
|
2018-10-11T11:10:06
|
|
[trak] Fix, and hook up
Works beautifully! Test coming.
|
|
3d7dea6d
|
2018-10-11T10:32:08
|
|
[trak] Handle nSizes=0 and 1
|
|
451f3de5
|
2018-10-11T10:30:32
|
|
[trak] Fix counting
|
|
a5be380c
|
2018-10-11T10:29:02
|
|
[trak] More
|
|
d06c4a86
|
2018-10-11T10:22:01
|
|
[trak] Only adjust around first glyph
Assumes graphemes only have one base glyph.
|
|
071a2cbc
|
2018-10-11T10:18:46
|
|
[trak] Clean up
|
|
10642b3f
|
2018-09-15T19:43:33
|
|
Disallow null-enabled offsets to unsized structures...
...like UnsizedArrayOf<>.
This fixes a class of crasher bugs, mostly with color and AAT tables. We
cannot use nullable offsets to varsized data that does not declare min_size,
because it's nost safe to use our fixed-size null pool for types that have
their size external. So, use non_null'able offsets for these.
A further enhancement would be to make use of min_size in Null<> itself.
Will try that after.
|
|
c77ae408
|
2018-08-25T22:36:36
|
|
Rename hb-*private.hh to hb-*.hh
Sorry for the noise, downstream custom builders. Please adjust.
|
|
32348a43
|
2018-07-01T15:32:43
|
|
Fix trak table apply logic
In collaboration with Behdad
|
|
816b8169
|
2018-04-23T19:36:53
|
|
Resolve some of clang's double-promotion warnings
|
|
a47070cd
|
2018-04-18T12:09:37
|
|
Minor, annotate the added tables with likely/unlikely (#997)
|
|
277e3289
|
2018-04-17T09:13:35
|
|
Make some of implicit header uses explicit (#989)
Splitted from #950 and #986 IIRC Chromium had a policy about this encouraging it,
not sure about automated way to detect and add them but for now lets have the needed
ones of them.
|
|
a02c3ee7
|
2018-04-12T13:38:19
|
|
Add or update tables specifications links
|
|
211da5ef
|
2018-04-11T17:41:24
|
|
[aat] Cosmetic changes (#964)
|
|
158f2810
|
2018-03-26T12:04:30
|
|
[aat/ltag] Implement the table parsing (#911)
|
|
9eee38a5
|
2018-03-25T23:56:02
|
|
[aat/fmtx] Implement the table parsing (#910)
|
|
a0dccb61
|
2018-03-14T16:31:53
|
|
Add NameID
|
|
fa3a69e2
|
2018-02-26T00:32:11
|
|
[aat/trak] Simplify sanitize()
|
|
f0bc6c09
|
2018-02-26T00:18:17
|
|
[aat/trak] Clean up
We always just used "unsigned int" for counter values. There's
no use for uint16_t outside of a struct.
Also, no need for explict casting where implicit does.
|
|
bb82f013
|
2018-02-25T12:30:33
|
|
[aat] trak sanitization
|
|
6dd46fa5
|
2018-02-25T18:54:52
|
|
[aat/trak] Minor
Maybe we should make DEFINE_* make structs uncopyable.
|
|
1ab16f45
|
2018-02-24T12:49:42
|
|
[aat] Implement trak logic (#816)
|
|
6ae4013f
|
2018-02-20T15:02:25
|
|
[aat] Cosmetic touch-ups to trak table
|
|
a64eacd8
|
2018-02-19T23:27:08
|
|
[aat] First dig on 'trak'
|