Ebrahim Byagowi
f7a08cd41d
Fix extra semicolon issues and test that on CI ( #1330 )
2018-10-30 11:29:09 +03:30
Behdad Esfahbod
58e20f53bf
[util] Add hb-shape --batch
2018-10-30 00:52:22 -07:00
Behdad Esfahbod
6131fb6283
[util] Don't close stdin/stdout
2018-10-30 00:52:22 -07:00
Khaled Hosny
cf92cb7e00
Use g_strdup instead of strdup
...
Cygwin does not seem to have strdup.
2018-10-19 22:46:40 +02:00
Ebrahim Byagowi
eeddda3ec6
[util] Better file-not-found error from hb-shape / hb-view
...
fixes #1266
2018-10-18 07:38:47 +03:30
Behdad Esfahbod
1e8fdd285f
Remove HAVE_OT
...
We never tested compiling without it. Just kill it. We always build
our own shaper.
2018-10-10 16:32:35 -04:00
Behdad Esfahbod
e42cd58c99
Rename invisible_codepoint to invisible_glyph in API
...
Deleted recently added API:
hb_buffer_set_invisible_codepoint()
hb_buffer_get_invisible_codepoint()
hb-shape / hb-view --invisible-codepoint
New API:
hb_buffer_set_invisible_glyph()
hb_buffer_get_invisible_glyph()
hb-shape / hb-view --invisible-glyph
Fixes https://github.com/harfbuzz/harfbuzz/issues/1216
2018-10-07 20:47:30 -04:00
Behdad Esfahbod
71b65eb27d
Add API for setting invisible-codepoint
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1216
New API:
hb_buffer_set_invisible_codepoint()
hb_buffer_get_invisible_codepoint()
hb-shape / hb-view --invisible-codepoint
2018-10-07 18:43:26 +02:00
Behdad Esfahbod
310bdac4a0
Fix a warning
2018-10-04 16:31:14 +02:00
Ebrahim Byagowi
6353cc1f83
[circleci] Fix some of warnings from clang-everything bot ( #1211 )
...
* -Wshift-sign-overflow
* -Wmissing-prototypes
2018-10-02 21:39:19 +03:30
Ebrahim Byagowi
0fa1edbd3b
[circleci] Couple of fixes ( #1200 )
...
* Raise error on warnings on -everything
* Enable fontconfig to two bots
* Fix msan bot now that all of its real complain are gone
2018-10-01 09:40:29 +03:30
Behdad Esfahbod
b5285b3479
[util] Remove unneeded virtual
...
clang warning:
../../util/options.hh:72:13: warning: destination for this 'memset' call is a pointer to dynamic class
'option_parser_t'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
memset (this, 0, sizeof (*this));
~~~~~~ ^
../../util/options.hh:72:13: note: explicitly cast the pointer to silence this warning
memset (this, 0, sizeof (*this));
^
(void*)
2018-09-30 12:23:01 +02:00
Behdad Esfahbod
89ed040b21
[util] Fix more non-virtual-destructor warnings
2018-09-30 06:08:11 -04:00
Behdad Esfahbod
2382dd07fa
Minor
2018-09-30 06:08:11 -04:00
Behdad Esfahbod
9caa432d0c
[util] Use HB_FALLTHROUGH
...
Sure, gcc knows to warn about this as well:
../../util/options.cc:175:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 1: m.r = m.t;
~~~~^~~~~
../../util/options.cc:176:5: note: here
case 2: m.b = m.t;
^~~~
But HOLY SMOKES, look at clang -Weverything bot message:
options.cc:176:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
case 2: m.b = m.t;
^
options.cc:176:5: note: insert 'HB_FALLTHROUGH;' to silence this warning
case 2: m.b = m.t;
^
HB_FALLTHROUGH;
Right, it's telling me to insert "HB_FALLTHROUGH;" there!!!!!!!!!
2018-09-30 06:08:11 -04:00
Behdad Esfahbod
2e728a7d86
[util] Mark var static
...
From clang -Weverything bot:
options.cc:39:3: warning: no previous extern declaration for non-static variable 'supported_font_funcs' [-Wmissing-variable-declarations]
2018-09-30 06:08:11 -04:00
Behdad Esfahbod
e910a1aef4
[util] Add empty virtual destructor to option_group_t
...
From clang -Weverything bot:
./options.hh:57:8: warning: 'option_group_t' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
struct option_group_t
^
2018-09-30 06:08:11 -04:00
Behdad Esfahbod
04caf11608
[hb-view] Change subpixel bits from 8 to 6
...
To match FreeType units, such that FreeType gets correct size from us.
This matters more now that we allow setting --ft-load-flags.
2018-09-26 12:13:47 -04:00
Behdad Esfahbod
606bf57430
Revert forcing use of single-parameter static_assert()
...
Some clang versions define static_assert as a macro apparently, so we cannot
redefine it...
This reverts commit 94bfea0ce6
.
This reverts commit 4e62627831
.
2018-09-16 19:34:39 +02:00
Behdad Esfahbod
94bfea0ce6
Fix build, another try
2018-09-16 19:12:19 +02:00
Behdad Esfahbod
f90bab8560
[util] Add --ft-load-flags
...
Useful for performance testing.
Not hooked to cairo yet. Just changes shaping, not rasterization.
2018-09-11 14:23:35 +02:00
Behdad Esfahbod
93f7596254
[util] Add -n shorthand for --num-iterations
...
Meh.
2018-09-11 14:11:10 +02:00
Behdad Esfahbod
93fe0faaee
[subset] Clean up hb_subset_input_t API
2018-08-29 18:24:03 -07:00
Behdad Esfahbod
f39166f0c0
[subset] Remove unused hb_subset_profile_t
...
We might reintroduce it later, but for now remove, as it was unused.
Some things that should have been in this object (drop_hints, etc)
are already in hb_subset_input_t. So, for now, keep everything there.
2018-08-29 18:09:55 -07:00
Behdad Esfahbod
c77ae40852
Rename hb-*private.hh to hb-*.hh
...
Sorry for the noise, downstream custom builders. Please adjust.
2018-08-25 22:36:36 -07:00
Ebrahim Byagowi
159ddb8729
Treat - just as /dev/stdin and remove one extra file reader ( #1065 )
2018-06-24 23:09:16 +04:30
Ebrahim Byagowi
d0c2889dfc
Revert file blob sanitization and index checking ( #1062 )
...
As https://github.com/harfbuzz/harfbuzz/pull/1059#issuecomment-397912812 we
like to still work with blobs that harfbuzz itself can't handle directly that are failing sanitization
currently apparently.
2018-06-18 19:59:33 +04:30
Ebrahim Byagowi
c53697d3f2
Verbose fail when something is wrong with hb-shape/hb-view input font file ( #1059 )
...
This checks if the blob isn't empty and uses `hb_face_count`
to see if the font file passes the simple font file sanitization
so can detect if the input is actually a font and checks also
whether input font-index is out of range.
2018-06-17 17:04:55 +04:30
Ebrahim Byagowi
aa0c5df419
Fix reading fonts from stdin ( #1060 )
...
We were passing the font path directly to freetype so rendering
was broken when we are getting the font from stdin.
This fixes it by using FT_New_Memory_Face instead.
This fixes:
* build/util/hb-view /dev/stdin text < font.ttf
* build/util/hb-view - text < font.ttf
* cat font.ttf | build/util/hb-view - text
but doesn't work on
* cat font.ttf | build/util/hb-view /dev/stdin text
which I will try to fix separately.
2018-06-17 16:49:34 +04:30
Ebrahim Byagowi
eaf649450a
Resolve clang's conditional-uninitialize warnings
2018-04-23 11:38:45 -07:00
Ebrahim Byagowi
ce17340b23
Add hb_blob_create_from_file, a new API ( #926 )
2018-04-20 07:59:06 +02:00
Khaled Hosny
6fdeeb2ae3
[util] Check all specified shapers are known ( #993 )
...
A bit brute force and requires all shapers to be known, not just one.
Fixes https://github.com/harfbuzz/harfbuzz/issues/956
2018-04-19 22:41:37 +02:00
David Corbett
8269791900
Allow trailing non-numeric chars in --unicodes
2018-03-26 01:36:37 -07:00
Behdad Esfahbod
127096e474
[util] Remove line buffering
...
Something weird seems to be going on. Just kill it.
Fixes https://github.com/harfbuzz/harfbuzz/issues/888
2018-03-15 13:23:27 -07:00
rsheeter
4a1d51ef15
Merge pull request #818 from googlefonts/drophints
...
[subset] Drop hints
2018-02-26 20:23:41 -08:00
Ebrahim Byagowi
bb82f01383
[aat] trak sanitization
2018-02-26 00:15:26 -08:00
Rod Sheeter
d78393b554
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into drophints
2018-02-23 17:53:26 -08:00
Ebrahim Byagowi
4f6f7c3b22
[util] Implement ppem/ptem on hb-{shape,view} ( #811 )
2018-02-23 02:54:12 +03:30
Rod Sheeter
74e0c13a4a
[subset] drop hint tables if so flagged. Still need to dump glyf instructions.
2018-02-21 11:19:18 -08:00
Rod Sheeter
0bd100e144
[subset] add --hinting flag
2018-02-21 10:34:00 -08:00
Behdad Esfahbod
9046e92442
[subset] Rename constructor to hb_subset_input_create_or_fail()
...
To signify that unlike rest of library, returns nullptr on failure.
2018-02-13 22:07:12 -08:00
Behdad Esfahbod
d5b33f2fe1
[subset] hb_subset_input_t changes
2018-02-13 13:55:10 -08:00
Behdad Esfahbod
70b06cc6e7
More fixes
2018-02-10 16:13:06 -06:00
Behdad Esfahbod
4011d885b7
[util] Remove use of ssize_t which was failing on MSVC
2018-02-10 14:09:06 -06:00
Behdad Esfahbod
570d523761
[subset] Merge remote-tracking branch 'googlefonts/master'
2018-02-10 13:24:22 -06:00
Behdad Esfahbod
d0f3e7f597
[util] Use setlinebuf() if present
...
To work around mysterious bug on OS X.
Fixes https://github.com/harfbuzz/harfbuzz/issues/727
2018-02-10 12:46:11 -06:00
Rod Sheeter
8431c38cdc
remove output noise
2018-02-08 19:20:58 -08:00
Behdad Esfahbod
194140d3f3
[util] Minor
2018-02-08 16:27:57 -06:00
Behdad Esfahbod
af02812fc5
[subset] Change hb_subset API to remove hb_subset_face_t
2018-02-07 13:07:46 -05:00
Rod Sheeter
6c52d94fd1
capture the set of codepoints passed by --unicodes
2018-02-07 12:41:21 -05:00
Garret Rieger
7481f0ce21
Add codepoints to subset input.
2018-02-07 12:41:21 -05:00
Ebrahim Byagowi
70e13ade81
[subset] Fix Windows issue on endlines ( #756 )
2018-02-06 13:20:38 +03:30
Garret Rieger
2ea228935d
ssize_t -> size_t
2018-02-05 15:10:01 -08:00
Garret Rieger
c25898eb54
Switch to fopen() instead of open() in subset test. open wasn't compiling on windows.
2018-02-05 14:35:32 -08:00
Garret Rieger
fc04f11ce1
Rename HB_SUBSET_sources -> HB_SUBSET_CLI_sources to match what cmake is looking for.
2018-02-05 11:12:33 -08:00
Garret Rieger
e428f7b1c2
Wrap unistd.h include in ifdef.
2018-02-05 10:24:16 -08:00
Behdad Esfahbod
ae39fc8171
[subset] Build hb-subset into separate libharfbuzz-subset.so
2018-02-04 20:18:52 -05:00
Behdad Esfahbod
eac20e4595
[subset] Minor
2018-02-04 20:08:50 -05:00
Rod Sheeter
edcd3b80e9
Actually call hb_subset
2018-02-04 12:57:34 -08:00
Garret Rieger
f83a43b561
Add CMake configuration for all of the new subsetting code.
2018-02-04 12:57:34 -08:00
Garret Rieger
5bc0cda179
Add missing unistd header to hb-subset.
2018-02-04 12:57:34 -08:00
Garret Rieger
058b1260ad
Re-write hb-subset utility to use main-font-text driver.
2018-02-04 12:57:34 -08:00
Garret Rieger
ede84ffa42
Whitespace
2018-02-04 12:57:34 -08:00
Rod Sheeter
e9d154ac8d
tweak test failure output. write to a temp file not stdout. test still fails because expected is not just an identical copy of input
2018-02-04 12:57:33 -08:00
Rod Sheeter
9ccb8366f6
Start to sketch APIs for subsetting
2018-02-04 12:57:33 -08:00
Behdad Esfahbod
4c4a9fc861
Typo
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/711
2018-01-17 09:48:08 -08:00
Behdad Esfahbod
7c32e01d04
Minor
2018-01-11 10:47:31 +01:00
Behdad Esfahbod
746a37d5bd
[util] Replace setlinebuf
2018-01-10 16:47:47 +01:00
Behdad Esfahbod
ff2083c53e
[util] Set stdio files to line buffering
...
So we can stream lines to hb-shape and read output.
2018-01-10 13:58:41 +01:00
Behdad Esfahbod
3b1e97f364
Add HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
...
New API:
HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
hb-shape / hb-view --remove-default-ignorables
One more text-rendering-tests test passing. Eleven failing.
2018-01-10 03:36:03 +01:00
Behdad Esfahbod
3f29ea9144
[util] Add hb-shape --ned
...
For not displaying extra data: no clusters, no advance. Just data pertaining
to where glyphs end up on the screen.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
71fd6325b6
Add option to buffer serialization to not output glyph advances
...
When advances are not printed, glyph offsets reflect absolute glyph
positions.
New API:
HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES
hb-shape --no-advances
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
7b837e20d2
[util] Add TODO item
2018-01-03 12:46:29 +00:00
Olivier Blin
0fd89dc61c
[hb-ft] Fix build when Multiple Master font support is disabled in freetype
...
FT_Set_Var_Blend_Coordinates() is not available when "Multiple Master
font interface" is disabled in freetype's modules.cfg
2017-12-04 10:52:06 -08:00
Behdad Esfahbod
bb7cc4eada
Minor
2017-11-20 19:39:47 -08:00
Behdad Esfahbod
17f40b7cad
Include hb-private.hh more consistently
...
Part of fixing https://github.com/behdad/harfbuzz/issues/585
2017-10-27 09:22:42 -06:00
Behdad Esfahbod
dbdbfe3d7b
Use nullptr instead of NULL
2017-10-15 12:11:08 +02:00
Behdad Esfahbod
c3448e8d21
Use static_assert instead of custom ASSERT_STATIC
2017-10-15 12:02:00 +02:00
Behdad Esfahbod
dad431e75b
[util] Include hb-private.hh
...
Simplifies compatibility issues by centralizing all boilerplate code
in hb-private.hh.
2017-10-15 10:55:32 +02:00
Behdad Esfahbod
9355218f58
[util] Add a few shorthand forms for commandline options
...
-o, -O, -u, -v, -V
2017-09-09 11:21:07 -07:00
Behdad Esfahbod
d03f11f246
Fix buffer_diff for empty buffers
...
If buffers are empty, content type should be ignored.
This fixes last of the failing tests: fuzzed.tests. Green again!
2017-09-04 20:14:13 -07:00
Behdad Esfahbod
03a5a6f873
[util] Add --unicodes to hb-view / hb-shape
...
Fixes https://github.com/behdad/harfbuzz/issues/154
2017-09-01 19:12:22 -07:00
Behdad Esfahbod
b262ebcc9c
[util] Fix cluster sweeping during --verify
...
If *I* get this wrong in 2017, I have no idea how others get their head around
cluster math...
Fixes tests/arabic-fallback-shaping.tests
2017-08-30 17:26:07 -07:00
Behdad Esfahbod
69d701b02e
[util] When --verify fails, return reconstructed shape results
2017-08-30 17:07:29 -07:00
Behdad Esfahbod
099472e08b
hb_buffer_diff() tweak
...
I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
returned. Abused a value of -1 for that. hb-shape now uses it. Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
2017-08-30 16:45:06 -07:00
Behdad Esfahbod
a9e52a1af4
[util] Prefix trace lines with "trace:", and error lines with "error:"
2017-08-15 17:30:18 -07:00
Behdad Esfahbod
7ea10c35a3
[util] Respect eot/bot in safe-to-break test; hook up hb_buffer_diff()
2017-08-15 17:25:04 -07:00
Behdad Esfahbod
a88e2a73f3
[util] Fix leaks
2017-08-14 14:49:21 -07:00
Behdad Esfahbod
05fabbd03e
[unsafe-to-break] Towards verifying unsafe-to-break in --verify
...
We break and shape fragments and reconstruct shape result from them.
Remains to compare to original buffer. Going to add some buffer
comparison API and use here, instead of open-coding.
2017-08-11 20:00:55 -07:00
Behdad Esfahbod
d2052278f2
[util] Add --verify to hb-shape / hb-view that verifies shape results
...
Right now it checks for monotone cluster values. Other checks to be added.
2017-08-11 15:12:25 -07:00
Behdad Esfahbod
40bd7e9a1c
[unsafe-to-break] Add UNSAFE_TO_BREAK flag
...
Not all shapers code is updated to set this properly.
GSUB and Arabic shaper are updated.
GPOS and other shapers are NOT.
Fixes https://github.com/behdad/harfbuzz/issues/224
2017-08-10 15:02:28 -07:00
Behdad Esfahbod
3e44748ebe
[util] Fix two other Coverity warnings
2017-08-09 22:09:01 -07:00
Behdad Esfahbod
356f93b64b
[util] Fix warning
2017-08-09 22:06:53 -07:00
Behdad Esfahbod
6f38845d9c
[hb-shape] Rename --show-messages to --trace
...
https://github.com/behdad/harfbuzz/issues/506
2017-07-19 17:20:55 -07:00
Behdad Esfahbod
e60350551a
[hb-shape] Improve shaping-debug output
...
Before, that was printed using --debug (and in both hb-shape and hb-view).
Changed it, now hb-shape has a new command-line argument called --show-messages.
When invoked, it also respects other output formatting options. The messages
are better formatted and printed to te same place that hb-shape output is
directed to. Previously they were written to stderr.
Fixes https://github.com/behdad/harfbuzz/issues/506
2017-07-18 19:16:09 -07:00
Philip Withnall
925ceacfed
util: Add missing field initialisers in constructor ( #410 )
...
Coverity ID: 141042
2017-02-07 18:17:48 -08:00
Behdad Esfahbod
a429090572
[var] Flesh out --variations documentation
2017-01-22 19:01:07 -08:00
Behdad Esfahbod
7647a05a0b
Minor
2017-01-22 17:47:49 -08:00
Behdad Esfahbod
47ee34e847
[var] Hook up variations to FreeType face
...
hb-view correctly renders variations with ft font-funcs now.
hb-ot-font needs HVAR implementation.
2017-01-21 18:10:08 -08:00
Behdad Esfahbod
111f3e5517
[util] Add --variations
...
Is hooked up to the font, but not to FreeType, so raster doesn't show yet.
Documentation needs to be done.
2017-01-21 17:51:41 -08:00