harfbuzz/test/shaping/data/in-house/tests
Tor Arne Vestbø f401f85a5a 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/
2019-01-15 13:26:35 +01:00
..
aat-morx.tests [test] Rename some fonts 2018-10-25 13:23:33 -07:00
aat-trak.tests Remove assumption about Core Text working in 96 DPI 2019-01-15 13:26:35 +01:00
arabic-fallback-shaping.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
arabic-feature-order.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
arabic-like-joining.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
arabic-mark-attach.tests Disable joiner-skipping when looking back for base to attach mark to 2018-10-02 14:41:31 +02:00
arabic-mark-order.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
arabic-stch.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
automatic-fractions.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
cluster.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
collections.tests [test] Rename some fonts 2018-10-25 13:23:33 -07:00
color-fonts.tests [tests] Fix for recent rounding change in CBDT 2018-10-28 23:03:20 -07:00
context-matching.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
cursive-positioning.tests Attach CursivePositioning backwards, not forward 2018-10-11 20:45:40 -04:00
default-ignorables.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
emoji.tests Add emoji test for recent work 2018-10-03 21:32:52 +02:00
fallback-positioning.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
hangul-jamo.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
hyphens.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
indic-consonant-with-stacker.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
indic-decompose.tests Don't decompose Bengali Rra and Rha 2018-04-26 13:54:09 -07:00
indic-init.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
indic-joiner-candrabindu.tests Rewrite grapheme-formation in terms of new work 2018-10-03 21:11:40 +02:00
indic-joiners.tests Rewrite grapheme-formation in terms of new work 2018-10-03 21:11:40 +02:00
indic-old-spec.tests [indic] Allow double-halant in old-spec Devanagari 2018-07-31 15:19:32 -07:00
indic-pref-blocking.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
indic-script-extensions.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
indic-special-cases.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
indic-syllable.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
indic-vowel-letter-spoofing.tests [indic] Disallow vowel mark combinations that spoof other vowel marks 2018-10-03 15:53:28 +02:00
kern-format2.tests [test] Add test for format2 kern (#1423) 2018-11-29 00:07:00 +03:30
khmer-mark-order.tests [khmer] Add mark-ordering tests 2018-10-01 19:35:48 +02:00
khmer-misc.tests [test] Add Khmer tests, with NotoSansKhmer-Regular.ttf 2018-07-31 14:20:31 -07:00
language-tags.tests Test deprecated tag fallback in a font 2018-10-11 13:54:28 -04:00
ligature-id.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
macos.tests Remove assumption about Core Text working in 96 DPI 2019-01-15 13:26:35 +01:00
mark-attachment.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
mark-filtering-sets.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
mongolian-variation-selector.tests [test] Split a test 2018-10-03 21:11:40 +02:00
myanmar-syllable.tests Let VS1 follow U+1031 MYANMAR VOWEL SIGN E 2018-02-02 12:41:07 -08:00
myanmar-zawgyi.tests [myanmar] Implement Zawgyi shaper 2018-10-11 20:20:29 -04:00
none-directional.tests Support scripts that are written both LTR and RTL 2018-05-07 14:12:17 -07:00
rand.tests [random] Switch to 32bit RNG 2018-09-11 10:57:48 +02:00
simple.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
sinhala.tests [sinhala] Move reph to after post-consonants 2018-06-04 15:40:43 -07:00
spaces.tests Fix vertical fallback space sign 2018-11-16 15:04:41 -08:00
tibetan-contractions-1.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
tibetan-contractions-2.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
tibetan-vowels.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
use-indic3.tests [test] Add test for USE indic3 2018-10-11 19:24:52 -04:00
use-marchen.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
use-syllable.tests Test U+111C9 SHARADA SANDHI MARK 2018-11-21 16:33:45 -05:00
use-vowel-letter-spoofing.tests [use] Prohibit visually ambiguous vowel sequences 2018-10-23 02:25:08 -07:00
use.tests [use] Fix reordering 2018-11-19 16:49:40 -05:00
variations-rvrn.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00
vertical.tests [VORG] Hook up to hb-ot-font's v_origin 2018-10-23 02:21:27 -07:00
zero-width-marks.tests [test] Reorganize test suite 2018-01-10 02:50:49 +01:00