|
60d9f009
|
2019-08-11T16:15:19
|
|
Implement opbd table parsing
https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6opbd.html
|
|
62932c14
|
2019-07-26T00:30:29
|
|
[meta] Rename ot-metadata to ot-meta per review
|
|
3ac03bd6
|
2019-07-22T23:35:08
|
|
[meta] New API, hb_ot_metadata_reference_entry for fetching meta entries
|
|
41ab56e0
|
2019-07-22T18:46:52
|
|
Implement meta table parsing
|
|
eb8bd2f7
|
2019-07-16T22:27:01
|
|
Add hb_gdi_face_create API
Based on Konstantin Ritt work posted on mailing list
|
|
471f798a
|
2019-07-20T14:00:20
|
|
Merge ot-metrics-internal.cc with ot-metrics now that isn't needed in subset
|
|
87e62843
|
2018-11-20T23:26:46
|
|
Implement a simple API for fetching opentype metrics
Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
|
|
09496695
|
2019-06-17T22:12:40
|
|
add hb_bimap_t, subclass hb_inc_bimap_t replacing CFF::remap_t
|
|
631da9d8
|
2019-06-19T15:36:14
|
|
[config] Remove tables from hb_face_t for disabled features
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
23768a99
|
2019-06-17T20:29:29
|
|
[config] Replace HAVE_FALLBACK with HB_NO_FALLBACK_SHAPE
This disables fallback shaper in tiny builds. Projects that don't
use our build system and want to disable fallback shaper (eg. Firefox)
should define HB_NO_FALLBACK_SHAPE now.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
96de9476
|
2019-05-24T11:22:41
|
|
Merge pull request #1722 from googlefonts/glyf
[subset] Use iterators in glyf/loca subsetting
|
|
65392b73
|
2019-05-22T16:21:21
|
|
[ucdn] Replace UCDN with a new UCD implementation
UCDN was ~120kb of data. New implementatoin is 69kb in default builds,
and 49kb if built with HB_OPTIMIZE_SIZE or __OPTIMIZE_SIZE__. The
latter automatically enabled if built with -Os or -Oz.
There's room to shave off another 10kb or 20kb. That will follow later.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
4ea44112
|
2019-05-21T13:07:43
|
|
[subset] Remove missed reference to hb-subset-glyf, was deleted
|
|
82bbec30
|
2019-05-16T15:14:01
|
|
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
|
|
240bc86e
|
2019-05-08T14:59:03
|
|
[subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out.
|
|
fb9bff95
|
2019-05-08T14:59:03
|
|
[subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out.
|
|
e6582de1
|
2019-05-10T23:53:38
|
|
Add hb-config.hh
|
|
8c8922a0
|
2019-04-25T09:17:58
|
|
[subset] Updates due to changes in resolve_links() on master branch
|
|
1ca4b5c7
|
2019-04-22T11:31:23
|
|
[subset] Add unit test for str de-dup
Also move the implementation of some methods from the .cc to the .hh
|
|
434d78bf
|
2019-04-02T21:46:40
|
|
Add hb_pool_t<> for pooled memory allocation
|
|
a7c63cd8
|
2019-03-30T14:59:40
|
|
Split sanitize and dispatch into their own files
|
|
be66b575
|
2019-03-30T14:53:54
|
|
Move serializer to hb-serialize.hh
|
|
6e3ad650
|
2019-01-09T09:05:01
|
|
Rename hb-dsalgs to hb-algs
|
|
e76a3cae
|
2018-12-27T17:23:12
|
|
Add hb-meta.hh for meta-programming
|
|
b80b97b5
|
2018-12-21T00:08:05
|
|
Revert "Remove unused hb-iter.hh"
This reverts commit 969ff3c7aadbe721cdd414488eb170433f10d00c.
|
|
969ff3c7
|
2018-12-17T22:43:00
|
|
Remove unused hb-iter.hh
The ideas there are all part of hb-array.hh now. To be determined how we
want to use generic iterator patterns.
|
|
5a552f75
|
2018-12-16T20:07:44
|
|
[array] Move hb_array_t and related types to hb-array.hh
|
|
5ab086eb
|
2018-12-05T14:17:37
|
|
[fdsc] Implement the table parsing
Related to https://github.com/harfbuzz/harfbuzz/issues/1337
May used in addition to an API related to STAT.
Lots of Apple fonts have it.
|
|
8f80e533
|
2018-12-05T13:51:14
|
|
[gasp] Implement the table parsing
May or may not be used in https://github.com/harfbuzz/harfbuzz/pull/1432
|
|
58d4d199
|
2018-12-01T19:34:18
|
|
Simplify build source list
|
|
a2e8d1d4
|
2018-11-30T22:54:20
|
|
Minor
|
|
9ae954f4
|
2018-11-30T15:00:52
|
|
Merge branch 'master' into cff-subset
|
|
e3dd47e6
|
2018-11-30T00:32:12
|
|
Move things
|
|
32d291ae
|
2018-11-28T16:27:45
|
|
Merge branch 'master' into cff-subset
|
|
b206133d
|
2018-11-23T14:05:11
|
|
[aat] Move contents of hb-aat.h to hb-aat-layout.h
Since it was pages and pages...
|
|
19b60255
|
2018-11-17T01:07:09
|
|
[feat] Address @behdad comments
|
|
a157b3e4
|
2018-11-01T19:56:16
|
|
[feat] Apply @behdad comments
|
|
95abd537
|
2018-11-01T13:14:29
|
|
[feat] Expose public API
* hb_aat_get_feature_settings
|
|
892ab37e
|
2018-11-14T13:54:07
|
|
Merge branch 'master' into cff-subset
|
|
7867c2ba
|
2018-11-14T22:13:50
|
|
[STAT] Add table parsing (#1384)
|
|
fb2a037f
|
2018-11-10T16:23:11
|
|
Merge branch 'master' into cff-subset
|
|
b986fead
|
2018-11-05T12:31:58
|
|
Hook AAT's lcar to _get_ligature_carets
|
|
26c291aa
|
2018-11-08T09:06:49
|
|
Merge branch 'master' into cff-subset
|
|
f9042384
|
2018-11-08T19:17:02
|
|
[just] Initial table implementation (#1364)
A starting point, its sanitization is not tested however
|
|
d0f8f4c2
|
2018-11-07T10:25:25
|
|
[kern] Move kern machine to hb-kern.hh
|
|
e600e544
|
2018-11-01T16:13:56
|
|
Merge branch 'master' into cff-subset
|
|
46072b7c
|
2018-10-27T04:21:20
|
|
[ot] Fold hb-ot-tag.h into hb-ot-layout.h
|
|
9b532e2e
|
2018-10-23T22:00:19
|
|
[name] Add language mapping
|
|
90420ed8
|
2018-10-15T22:48:48
|
|
[name] Implement hb_ot_name_get_names()
|
|
2ebf3601
|
2018-10-25T13:05:06
|
|
Merge branch 'master' into cff-subset
|
|
ffe34784
|
2018-10-23T14:14:03
|
|
[aat] Allow enabling/disabling features
Only works at entire-buffer range, not sub-ranges.
Test with:
$ hb-shape Zapfino.dfont Zapfino
[Z_a_p_f_i_n_o=0+2333]
$ hb-shape Zapfino.dfont Zapfino --features=-dlig
[Z=0+416|a=1@-21,0+264|p_f=2+433|i=4+181|n=5+261|o=6+250]
$ hb-shape Zapfino.dfont Zapfino --features=+dlig
[Z_a_p_f_i_n_o=0+2333]
Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
|
|
e1241636
|
2018-10-23T11:25:51
|
|
Merge branch 'master' into cff-subset
|
|
6d40eb83
|
2018-10-23T02:51:42
|
|
Touch up on previous commit
https://github.com/harfbuzz/harfbuzz/pull/1273
|
|
205737ac
|
2018-10-12T16:54:54
|
|
[use] Prohibit visually ambiguous vowel sequences
|
|
6fb24d5e
|
2018-10-23T01:58:59
|
|
[VORG] Add VORG table
Cherry-picked from cff-subset branch.
|
|
857c5827
|
2018-10-22T09:57:20
|
|
Merge branch 'master' into cff-subset
|
|
d4e928b1
|
2018-05-01T17:16:46
|
|
[color] Minimal API for COLR/CPAL
|
|
db0d83dd
|
2018-10-13T17:25:38
|
|
Merge branch 'master' into cff-subset
|
|
477bc9aa
|
2018-10-12T15:52:31
|
|
Add hb-ot-name.h
Actual name-fetching API to come later.
New API:
hb_name_id_t
HB_NAME_ID_INVALID
|
|
fc0153a1
|
2018-10-12T12:16:50
|
|
Merge branch 'master' into cff-subset
|
|
2f1f961c
|
2017-12-08T22:45:52
|
|
Autogenerate the BCP 47 to OpenType mappings
The new script, gen-tag-table.py, generates `ot_languages` automatically
from the [OpenType language system tag registry][ot] and the [IANA
Language Subtag Registry][bcp47] with some manual modifications. If an
OpenType tag maps to a BCP 47 macrolanguage, all the macrolanguage's
individual languages are mapped to the same OpenType tag, except for
individual languages with their own OpenType mappings. Deprecated
BCP 47 tags are canonicalized.
[ot]: https://docs.microsoft.com/en-us/typography/opentype/spec/languagetags
[bcp47]: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
Some OpenType tags correspond to multiple ISO 639 codes. The mapping
from ISO 639 codes lists OpenType tags in priority order, such that more
specific or more likely tags appear first.
Some OpenType tags have no corresponding ISO 639 code in the registry so
their mappings use BCP 47 subtags besides the language. For example, any
BCP 47 tag with a fonipa variant subtag is mapped to 'IPPH', and 'IPPH'
is mapped back to und-fonipa.
Other OpenType tags have no corresponding ISO 639 code because it is not
clear what they are for. HarfBuzz just ignores these tags.
One such ignored tag is 'ZHP ' (Chinese Phonetic). It probably means
zh-Latn. However, it is used in Microsoft JhengHei and Microsoft YaHei
with the script tag 'hani', implying that it is not a romanization
scheme after all. It would be simple enough to add this mapping to
gen-tag-table.py once a definitive mapping is determined.
The manual modifications are mainly either obvious mappings that the
OpenType registry omits or mappings for compatibility with previous
versions of HarfBuzz. Some of the old mappings were discarded, though,
for homophonous language names. For example, OpenType maps 'KUI ' to
kxu; previous versions of HarfBuzz also mapped it to kvd, because kvd
and kxu both happen to be called "Kui".
gen-tag-table.py also generates a function to convert multi-subtag tags
like el-polyton and zh-HK to OpenType tags, replacing `ot_languages_zh`
and the hard-coded list of special cases in `hb_ot_tags_from_language`.
It also generates a function to convert OpenType tags to BCP 47,
replacing the hard-coded list of special cases in
`hb_ot_tag_to_language`.
|
|
b51418f5
|
2018-10-08T15:05:36
|
|
added CFF2 get_extents
added source hb-ot-cff2-table.cc
augmented VariationData to return scalars
misc bug fixes, renaming, cleanup
|
|
8be5a918
|
2018-10-03T17:06:18
|
|
Merge branch 'master' into cff-subset
|
|
06922acb
|
2018-10-03T20:19:17
|
|
Fix distcheck
|
|
9cdd70b3
|
2018-10-02T13:43:21
|
|
Merge branch 'master' into cff-subset
|
|
fef7af1e
|
2018-10-02T18:46:13
|
|
[tibetan] Remove unused Tibetan shaper
|
|
f212c050
|
2018-09-20T09:45:43
|
|
Added VORG struct and its subsetter
new file: hb-ot-vorg-table.hh
|
|
45e564a5
|
2018-09-11T09:46:37
|
|
Merge branch 'master' into cff-subset
|
|
0f520ada
|
2018-09-11T12:02:34
|
|
Revert "Remove unused hb_cache_t"
This reverts commit 473b17af4d421f4ce7ac18c769731bb2aa4088f8.
Updates to recent changes.
|
|
22b88632
|
2018-09-06T22:27:44
|
|
Merge branch 'master' into cff-subset
|
|
2a74536a
|
2018-09-06T18:26:13
|
|
fix build attempt ^2
Added hb-ot-cff1-table.cc to hb-subset sources
Deleted unused variable (charset)
|
|
aca73c9d
|
2018-09-06T17:28:15
|
|
subset CFF1 Encoding & Charset
fixed misc Charset bugs
added source file hb-ot-cff1.table.cc
renamed things for clarity & consistency
|
|
aba0a945
|
2018-08-31T13:25:19
|
|
[subset] Add hb-subset-input.hh and make hb-subset.hh toplevel include
|
|
8af9690a
|
2018-08-29T13:26:17
|
|
Merge branch 'master' into cff-subset
Renamed cff "private" source/headers without the suffix
|
|
c0a3f38f
|
2018-08-28T17:22:38
|
|
Fix distcheck
|
|
d950022c
|
2018-08-25T23:06:37
|
|
Add hb-ot-face.cc/hh
|
|
c77ae408
|
2018-08-25T22:36:36
|
|
Rename hb-*private.hh to hb-*.hh
Sorry for the noise, downstream custom builders. Please adjust.
|
|
cef75ea4
|
2018-08-17T13:13:18
|
|
Added CFF2 Subr nullifier
along with CFF2 charstring interpreter
factored out common code between CFF1 & CFF2 to CSInterpreter
moved fetch_op from Interpreter to InterpEnv
misc code clean up & bug fixes
|
|
fdbfa184
|
2018-08-16T00:13:09
|
|
renamed CFF version 1 structs and sources to CFF1 from CFF
"CFF" is used for shared structs & sources between CFF1 & CFF2
except OT:cff is for CFF version 1 table
|
|
eab07e71
|
2018-08-15T12:15:55
|
|
fix build
|
|
633ce88d
|
2018-08-15T12:00:19
|
|
CFF Subrs subsetting
Unreferenced subroutines are nullified (not removed) in a subset font
Separate Interpreter struct from hb-ot-cff-common-private.hh in a set of four header files, augmented for CharString (CS):
hb-cff-interp-common-private.hh
hb-cff-interp-dict-common-private.hh
hb-cff-interp-cs-common-private.hh
hb-cff-interp-cs.hh
Interpreter runtime is separated off as a new struct InterpEnv sub-classed differently for Dict and CharString (CS)
|
|
64c54122
|
2018-08-10T11:07:07
|
|
Added CFF support
Added sources hb-ot-cff-table.hh, hb-subset-cff.cc & hh
Templatized Index because CFF uses 16-bit count while CFF2 uses 32-bit
Misc code cleanup & bug fixes
|
|
161ece4c
|
2018-08-06T11:23:50
|
|
Merge branch 'master' into cff-subset
|
|
5561b818
|
2018-08-06T10:04:53
|
|
subset FDSelect and FDArray
Added a set of sources hb-subset-cff-common-private.cc & .hh for FDSelect subseting code.
Added FDSelect format 4 (CFF2 only) support. Shared its implementation with format 3 as a template.
|
|
25147ff8
|
2018-08-06T05:01:52
|
|
Move Null system to hb-null.hh
|
|
e1acff80
|
2018-08-06T04:42:46
|
|
Move hb_vector_t to hb-vector-private.hh
|
|
161b642e
|
2018-07-30T12:22:09
|
|
Merge branch 'master' into cff-subset
|
|
3c2842cb
|
2018-07-25T17:07:17
|
|
Add hb-iter-private.hh
Unused so far.
|
|
92b1e025
|
2018-07-25T16:58:47
|
|
Move some code from hb-open-type-private.hh to hb-machinery-private.hh
|
|
3a61c3e9
|
2018-07-18T14:17:52
|
|
first push of CFF/CFF2 work
Index, Dict structs
hooked up to hb-subset (takes CFF2, outputs empty CFF2)
|
|
d5cd47a6
|
2018-07-17T22:32:37
|
|
Remove AAT's gcid/fmtx (#1099)
We are not going to use them, at least in the foreseeable future
|
|
cc0b04f4
|
2018-06-12T18:24:54
|
|
[subset] Remove HB_SUBSET_BUILTIN
Just include hb-static.cc in libharfbuzz-subset.so source list as
well. Those building it built-in will include hb-static.cc once
already. No need for any gymnastics.
|
|
743fdd9c
|
2018-05-29T16:28:48
|
|
[map] First try at implementing an integer-to-integer hashmap
Fully untested.
|
|
fd3d0042
|
2018-05-24T15:58:26
|
|
Move pool definitions to hb-static.cc
|
|
5c64d614
|
2018-05-03T21:10:57
|
|
Add hb-blob-private.hh
Towards making blob more memory-allocation-friendly
|
|
d3984b45
|
2018-04-01T12:16:42
|
|
[aat] Further improvements on feat (#948)
|
|
44bf4320
|
2018-03-31T16:51:36
|
|
[aat] Implement feat table parsing (#947)
|
|
9d68f73d
|
2018-03-30T21:57:10
|
|
[aat] Implement gcid table parsing (#944)
|
|
0e230a83
|
2018-03-30T19:36:00
|
|
[aat] Implement bsln table parsing (#943)
|
|
aa53cb50
|
2018-03-26T13:28:26
|
|
[aat] Unprefix not essentially layout tables (#921)
|