Behdad Esfahbod
38c71cebd0
[hb-info] Add --show-upem --show-all --all
2023-01-19 14:19:05 -07:00
Behdad Esfahbod
aee7454d05
[hb-info] Add --list-scripts
2023-01-19 14:09:45 -07:00
Behdad Esfahbod
9ca2f86fe0
[hb-info] Minor verbose print
2023-01-19 14:04:37 -07:00
Behdad Esfahbod
9a94c06052
[hb-info] Minor we have face available
2023-01-19 13:56:36 -07:00
Behdad Esfahbod
8921f593f9
[hb-info] Print "---" separator
2023-01-19 13:49:22 -07:00
Behdad Esfahbod
f514f69724
[hb-info] Add --quiet
2023-01-19 13:35:15 -07:00
Behdad Esfahbod
dc717ced8d
[hb-info] Simplify
2023-01-19 13:16:34 -07:00
Behdad Esfahbod
1816d3664d
[hb-info] Flesh out
2023-01-19 12:59:26 -07:00
Behdad Esfahbod
ca903f7531
[hb-info] Start adding
2023-01-19 12:40:27 -07:00
Behdad Esfahbod
f43ba351e8
[util] Limit chafa to one thread
2023-01-19 12:17:30 -07:00
Behdad Esfahbod
2b010d8017
[util] Minor hide --font-ptem sometimes
2023-01-19 12:14:50 -07:00
Behdad Esfahbod
06c064a351
[util] Use hb_font_glyph_to_string
2023-01-19 11:17:49 -07:00
Behdad Esfahbod
ea291493d2
[hb-shape/view] List variation sequences in --list-unicodes
2023-01-18 19:51:22 -07:00
Behdad Esfahbod
8564d2266b
[hb-shape/view] Add --list-glyphs
2023-01-18 19:43:33 -07:00
Behdad Esfahbod
bf8bb9fb83
[hb-shape/view] Add --list-unicodes
2023-01-18 19:40:09 -07:00
Behdad Esfahbod
8e8ca03b2a
[hb-fc] Minor remove unused variable
2023-01-16 12:38:53 -07:00
Behdad Esfahbod
e903397bc3
Whitespace
2023-01-16 12:33:17 -07:00
Behdad Esfahbod
82a3b2dbb5
[util] Fix --named-instance
2023-01-16 11:18:22 -07:00
Behdad Esfahbod
ad6b9c417d
[util] Format --list-features
2023-01-16 11:07:03 -07:00
Behdad Esfahbod
0f4da85074
[util] Minor in --list-features clear feature set between GSUB/GPOS
2023-01-16 11:04:38 -07:00
Behdad Esfahbod
f25e3696eb
[hb-shape/hb-view] Better --list-features
2023-01-16 10:54:23 -07:00
Behdad Esfahbod
32d439596d
[hb-shape/view] Print feature names in --list-features
2023-01-15 22:34:14 -07:00
Behdad Esfahbod
cc6a9bfa6f
[hb-shape/view] Print table length in --list-tables
2023-01-15 18:16:19 -07:00
Behdad Esfahbod
880d65c905
[hb-shape/view] Add --list-tables
2023-01-15 18:14:14 -07:00
Behdad Esfahbod
3d5a922bca
Fix really
2023-01-15 16:15:52 -07:00
Behdad Esfahbod
484831be3d
[util] Fix build
2023-01-15 16:14:53 -07:00
Behdad Esfahbod
8a6ecc5c89
[hb-view/shape] Add --list-features
2023-01-15 13:54:27 -07:00
Behdad Esfahbod
40a8145acc
[util] Don't use hb_vector_t
2023-01-15 11:30:24 -07:00
Behdad Esfahbod
d769e8ae7c
[hb-shape/view] Add --named-instance
2023-01-15 10:58:15 -07:00
Behdad Esfahbod
40bf30bfeb
[util] Print named-instance index in --list-variations
2023-01-15 10:45:47 -07:00
Behdad Esfahbod
14a83d6cc7
[hb-shape/view] --list-variations cleanup
2023-01-15 10:11:54 -07:00
Behdad Esfahbod
e1a5448306
[hb-shape/view] Print named-instances in --list-variations
...
Might remove the coordinates.
2023-01-15 10:00:26 -07:00
Behdad Esfahbod
9abc21072b
[hb-shape/view] Add --list-variations
2023-01-15 09:46:32 -07:00
Behdad Esfahbod
ed023f66df
Enable -Wformat-signedness
...
And fix the codebase.
2023-01-12 17:04:24 -07:00
Behdad Esfahbod
70ca146033
[chafa] Re-enable truecolor mode
...
See 42bf8e3d49
https://github.com/harfbuzz/harfbuzz/pull/2959#issuecomment-827056111
2023-01-07 15:48:57 -07:00
Behdad Esfahbod
30d4a73473
[hb-subset] Adjust help for instancing
2023-01-06 16:00:53 -07:00
Behdad Esfahbod
aba6cbe867
[hb-subset] Adjust --help-all formatting
...
Meh.
2023-01-06 13:09:10 -07:00
Behdad Esfahbod
85e8f2b53f
[hb-subset] Initialize preprocess variable
2023-01-01 18:26:08 -07:00
Behdad Esfahbod
4a5bd7a926
[subset] Add hb_subset_input_keep_everything()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3998
New API:
+ hb_subset_input_keep_everything()
2023-01-01 16:53:28 -07:00
Behdad Esfahbod
d87add41b3
[hb-subset] Rename --preprocess-face to --preprocess
...
Keep old name working but hidden.
2023-01-01 16:27:26 -07:00
Khaled Hosny
00060d99f3
[hb-cairo] Silence warning when building with FreeType
...
In file included from ../util/hb-view.cc:33:
In file included from ../util/view-cairo.hh:32:
../util/helper-cairo.hh:102:7: warning: variable 'cairo_face' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (use_hb_draw)
^~~~~~~~~~~
../util/helper-cairo.hh:129:64: note: uninitialized use occurs here
cairo_scaled_font_t *scaled_font = cairo_scaled_font_create (cairo_face,
^~~~~~~~~~
../util/helper-cairo.hh:102:3: note: remove the 'if' if its condition is always true
if (use_hb_draw)
^~~~~~~~~~~~~~~~
../util/helper-cairo.hh:101:32: note: initialize the variable 'cairo_face' to silence this warning
cairo_font_face_t *cairo_face;
^
= nullptr
We know that cairo_face will always be assigned since use_hb_draw will
always be true, but the compiler does not know that.
2022-12-30 22:55:56 +02:00
Behdad Esfahbod
0d98c79b10
[util] Centralize includes again
2022-12-29 21:07:38 -07:00
Behdad Esfahbod
d90ccc1c5c
[view] More includes
2022-12-29 21:02:06 -07:00
Behdad Esfahbod
969914b2b5
[view] Clean up includes
2022-12-29 21:01:16 -07:00
Behdad Esfahbod
2bbc57c3c4
[chafa] Residual
2022-12-29 20:41:55 -07:00
Behdad Esfahbod
962d4925b2
[ansi] Optimize write
2022-12-29 20:39:02 -07:00
Behdad Esfahbod
a35f8e340b
[ansi] Whitespace
2022-12-29 20:34:23 -07:00
Behdad Esfahbod
0004ec13a6
[view] Write ansi output to --output-file
...
Was writing to stdout all this time!
2022-12-29 20:32:46 -07:00
Behdad Esfahbod
3a319b59bd
[ansi] Write \e directly
2022-12-29 20:26:09 -07:00
Behdad Esfahbod
ab8b9b4443
[view] Streamline cairo-ft face lifecycle management
2022-12-29 18:33:12 -07:00
Behdad Esfahbod
228a415470
[view-cairo] Minor subpixel-bits
2022-12-29 18:19:06 -07:00
Behdad Esfahbod
74d29cd168
[helper-cairo] Remove a method
2022-12-29 18:11:41 -07:00
Behdad Esfahbod
b1de87b7f1
[cairo] Document get_glyphs() arguments as inout
2022-12-29 10:41:35 -07:00
Behdad Esfahbod
dc9ca63763
[hb-view] Remove stale disabled code path
...
With color rendering that code path is wrong anyway.
And cairo now supports subpixel text positioning.
2022-12-27 17:49:02 -07:00
Behdad Esfahbod
5efb3bc691
[hb-view] Set hb-cairo scale-factor
...
Unused.
2022-12-27 17:47:46 -07:00
Behdad Esfahbod
81c04b0c21
[cairo] Add separate x/y scale factors
2022-12-27 17:46:25 -07:00
Matthias Clasen
7d3b373925
Fix the autotools build
2022-12-27 08:37:46 -05:00
Behdad Esfahbod
c38abcb3fb
[cairo] Add x,y args to get_glyphs
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
847ed69547
[cairo] Reorder arguments of a call
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
120419e180
[hb-view] Fix autotools build
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
ea993af8e7
[view] Don't double-slant
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
cf001f6ec7
[cairo] Add constructor from hb_face_t
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
20a50acc91
[hb-cairo] Make hb_cairo_glyphs_from_buffer public
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
a230eb8cf5
[hb-cairo] Factorize hb_cairo_glyphs_from_buffer
...
To be made public.
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
5c3da76a43
[hb-cairo] Change API again
...
We need to work with a hb-font for variations and font-funcs
to be fetched properly.
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
9f7538c260
[hb-cairo] Change API
2022-12-26 17:01:08 -07:00
Matthias Clasen
0d6ee4621e
wip: Make hb-view use hb-cairo
...
This is a quick hack to prove that the
hb-cairo apis work
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
5f168db884
[hb-view] Build with autotools if cairo-ft is not available
...
Like with meson.
2022-12-26 15:12:27 -07:00
Behdad Esfahbod
6ccbfabd4f
[paint] Return bool from paint_image()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3974
2022-12-24 10:44:25 -07:00
Matthias Clasen
dfd371e976
Cosmetics
2022-12-24 10:13:44 -05:00
Matthias Clasen
4816be9ab5
Work around cairo limitations
...
If we just draw an image, cairos recording surface
complains that it is unbounded. Its not true of course.
To make things work, clip to the extents.
2022-12-24 09:16:29 -05:00
Matthias Clasen
76c16095fa
Fix the build on Windows
...
No __BYTE_ORDER there.
2022-12-24 05:30:11 -05:00
Behdad Esfahbod
56a48f8b0a
[paint] Don't use extents in hb-view
...
Let the clipbox do its magic. Currently works for ft backend only.
2022-12-23 16:45:04 -07:00
Matthias Clasen
ecd7420456
Debug spew
...
To get a dump of the hb-paint callbacks,
set HB_PAINT_DEBUG=1 when running hb-view.
For now, leave this code in place, since it
comes in handy for various debugging.
2022-12-23 13:37:59 -07:00
Matthias Clasen
13e0cb64f4
hb-view: Interpolate gradients premultiplied
...
This is what the specs demand.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
381d410b1e
[paint] Add HB_PAINT_IMAGE_FORMAT_BGRA and use it in hb-ft
...
Now hb-ft can render color emoji as well.
Just left COLRv2.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
63db0d2aed
[util] Speculatively fix build against non-PNG builds
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
c5f903872f
[paint] Add bitmap width/height to paint_image callback
...
Such that we can add raw data as well.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
237955dffc
[paint] Add slant to image() callback
...
And slant images in hb-view.
2022-12-23 13:37:59 -07:00
Matthias Clasen
c221933977
[paint] Preserve foreground information
2022-12-23 13:37:59 -07:00
Matthias Clasen
6387004cad
[paint] Simplify api
...
Drop the hb_paint_context_t struct from the API, and
only pass the font where we need it.
2022-12-23 13:37:59 -07:00
Matthias Clasen
71bd5a0dfc
[paint] Resolve colors
...
We don't need to pass the index/alpha pairs to
client callbacks, and can just resolve the colors
internally.
Update test results.
2022-12-23 13:37:59 -07:00
Matthias Clasen
5d7553d38f
view: Add a --font-palette option
2022-12-23 13:37:59 -07:00
Matthias Clasen
d094e76cbc
hb-view: Pass fg color to hb_font_paint_glyph
2022-12-23 13:37:59 -07:00
Matthias Clasen
9be01b6bff
[paint] Pass hb_paint_context_t along
...
Replace the font argument with a hb_paint_context_t
that carries the font, the palette index and the
foreground color.
The hb_font_paint_glyph() api now takes the palette
index and the foreground color as extra arguments.
Update all callers and regenerate test results.
2022-12-23 13:37:59 -07:00
Matthias Clasen
b1500babaa
utils: Some cairo helper tweaks
2022-12-23 13:37:59 -07:00
Matthias Clasen
97224f3b63
[paint] Pass font to all callbacks
...
This will lead to easier implementations.
At the same time, we change the push_clip_glyph
callback to use the font as-is, no unscaling needed.
Update all callers and expected test results.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
cf02d13302
[cairo] Remove unused struct
2022-12-23 13:37:59 -07:00
Matthias Clasen
a3ba723876
Drop an unneeded include
2022-12-23 13:37:59 -07:00
Matthias Clasen
0800d1879c
Try to fix autotools build
2022-12-23 13:37:59 -07:00
Matthias Clasen
5451b78f4a
Don't use alloca
...
It complicates things on Windows, for no
big win. Just preallocate a reasonable amount.
2022-12-23 13:37:59 -07:00
Matthias Clasen
7c12db46ff
Try to fix msvc build
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
3590ee74f4
[util] Fix bot
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
81bf089273
[hb-view] Use color render callback if HB_DRAW >= 2
2022-12-23 13:37:59 -07:00
Matthias Clasen
c65f580b93
Drop hb-test
...
This was a test binary to assist in developing
the hb-paint code. Not needed anymore, now that
hb-view has the same code in the cairo userfont
backend.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
9672aa8610
[util] Fix compiler warning
2022-12-23 13:37:59 -07:00
Matthias Clasen
955bd30365
Fix hb-cairo-utils
...
This was a stupid mistake, and hard to track down.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
3573956705
[util] Include stdio.h
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
7accbe97d8
[util] Fix argument order and root transform PNGs
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
529dc40d7d
[util] Adjust scaling
...
Still doesn't render PNGs.
Fix a few compiler warnings
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
bcc9ab27fc
[hb-view] Fix transformation
...
No need for cairo patch; that patch was wrong.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
c996fc58ec
[hb-view] Remove redundant check
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
bec5354030
[hb-view] Fix render_color_glyph extents coordinate system
...
Needs cairo fix:
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/371
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
95ccd66481
[hb-view] Set glyph extents in render_color_glyph
...
Works around limitation in cairo-recording-surface unboundedness.
Extents are wrong but at least renders something now.
2022-12-23 13:37:59 -07:00
Matthias Clasen
6cadf280f2
Use hb-cairo-utils in hb-test
...
Just to prove that it works.
2022-12-23 13:37:59 -07:00
Matthias Clasen
8bcd13dd91
small fixup to hb-cairo-utils
2022-12-23 13:37:59 -07:00
Matthias Clasen
6c49822cad
wip: Use hb-paint in hb-view
...
This doesn't paint anything yet.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
3b32eab38e
[colr] Fix compiler warning
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
e3153654cb
[colr] Fix PNG placement
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
f07ce68f9c
Remove unused function
2022-12-23 13:37:59 -07:00
Matthias Clasen
0a2f3673b9
[paint] Use tags for image formats
...
This fits better with the rest of the
HarfBuzz API.
2022-12-23 13:37:59 -07:00
Matthias Clasen
485ba9beb3
[paint] Spell out rectangle in the API
...
No need to abbreviate this.
2022-12-23 13:37:59 -07:00
Matthias Clasen
37f3f0fcc2
[paint] Change the image callback
...
Instead of passing the glyph ID, give
it the image blob, a mimetype, and
glyph extents (if available).
Update all callers.
2022-12-23 13:37:59 -07:00
Matthias Clasen
9876e30c6e
test: Support png images via paint_image
2022-12-23 13:37:59 -07:00
Matthias Clasen
0d890061d1
Rename 'solid' to 'color'
...
'solid' does not really describe well what
the function does, and there is no strong
reason to stick 1:1 to the terminology used
in the spec.
2022-12-23 13:37:59 -07:00
Matthias Clasen
2c07828603
test: More debug spew
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
fdf17dbf34
Try fixing bots
2022-12-23 13:37:59 -07:00
Matthias Clasen
5c6329555e
Apply root transform
...
This commit applies scale, slant is still missing.
2022-12-23 13:37:59 -07:00
Matthias Clasen
794fa4c3c1
sweep gradients etc
2022-12-23 13:37:59 -07:00
Matthias Clasen
d07fdc69dd
test: dump color lines
2022-12-23 13:37:59 -07:00
Matthias Clasen
627c857f8b
rename pop_group_and_composite
2022-12-23 13:37:59 -07:00
Matthias Clasen
c9350838c7
assorted fixes and changes
2022-12-23 13:37:59 -07:00
Matthias Clasen
5a123e8691
quick testcase
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
0066e824f0
[util] Fix vertical positioning with --glyphs
2022-12-23 13:37:38 -07:00
Behdad Esfahbod
265b699fbd
[util] Improve --glyphs
2022-12-23 13:31:48 -07:00
Behdad Esfahbod
d45f7265e9
[hb-view/hb-shape] Add --glyphs
...
This makes hb-view take output of hb-shape and render it.
2022-12-23 13:13:29 -07:00
Garret Rieger
1a51f71afd
[subset] don't segfault when --help-all is specified w/ instancing options.
2022-12-19 16:02:05 -07:00
Nirbheek Chauhan
c7dd63d1a0
meson: Provide binaries when built as a subproject
2022-12-18 08:28:55 +02:00
Khaled Hosny
6add69a6ec
[hb-view] Allow building without cairo-ft
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3925
2022-12-16 21:10:15 +02:00
Garret Rieger
9fbe52b88d
[subset] enable instancing tests by default.
2022-12-12 20:24:24 +00:00
Garret Rieger
eda02c2ebd
[subset] Move hb_subset_preprocess to be non-experimental.
2022-12-08 16:32:24 -07:00
Behdad Esfahbod
1b86753031
[hb-subset] Support -u, -g, -t
...
For --unicodes, --gids, --text.
2022-12-05 11:44:52 -07:00
Behdad Esfahbod
a4a4078632
Merge pull request #3893 from googlefonts/preprocess_test
...
[subset] Fix testing of preprocess
2022-11-24 11:56:58 -07:00
Behdad Esfahbod
2e9b270a49
[hb-view] Fix cairo slanting condition
...
hb-draw already does slanting. If NOT hb-draw, we should slant
through cairo path. Donno why this was untested before.
This was double-slanting with hb-draw, and not slanting without it.
2022-11-23 16:18:39 -07:00
Garret Rieger
4c49daf7cd
[subset] actually use the preprocessed face in hb-subset.
...
Tests weren't actually using the preprocessed face due to this typo in util/hb-subset.
2022-11-23 22:33:57 +00:00
Behdad Esfahbod
8f15fb1252
[util] Move variable closer to use
2022-11-13 17:06:58 -07:00
Behdad Esfahbod
0e4f579493
[util/hb-view] Default HB_DRAW to 1
...
See comments.
2022-10-31 13:51:24 -06:00
Garret Rieger
515863e57c
[subset] Remove add accelerator flag, replace with new api method.
...
Adds hb_subset_preprocess() which preprocesses the face and attaches accelerator data.
2022-10-13 23:42:00 +00:00
Garret Rieger
3394ec7048
[subset] use subset accelerator in tests.
...
This ensures it produces equivalent subsets as without the accelerator.
2022-10-13 23:02:54 +00:00
Wez Furlong
e3548c2069
hb-view: Detect WezTerm and use iterm2 image protocol
...
Similar to the logic that detects iterm2, but look for
TERM_PROGRAM=WezTerm which identifies wezterm is present.
This allows hb-view to output an image directly to the terminal.
2022-09-03 17:15:03 +02:00
Behdad Esfahbod
f43dadb8ee
Rename kashida -> tatweel
2022-07-30 10:23:03 -06:00
Behdad Esfahbod
4f09ea5e6b
[hb-shape] Add --safe-to-insert-kashida flag
...
https://github.com/harfbuzz/harfbuzz/pull/3762
2022-07-30 10:12:24 -06:00
Behdad Esfahbod
61d0c54701
[ft] Pass design, not normalized, coords to freetype
...
Needed for avar2 to work.
2022-07-23 13:26:18 -06:00
Behdad Esfahbod
a66ba594b4
[util] Fix stack-underflow
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3737
2022-07-19 16:32:32 -06:00
Behdad Esfahbod
c6ef11daf5
[util] Fix build with HB_NO_VAR
2022-07-19 15:19:52 -06:00
Qunxin Liu
2a4773e43d
add option "--instance", store axes_location in subset_plan and drop all
...
variation tables when all axes are pinned at default
2022-07-18 14:59:07 -06:00
Behdad Esfahbod
1eb8e82086
[util] Accept space as delimiter for --features/--variations
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3715
2022-07-18 14:49:04 -06:00
Behdad Esfahbod
faac252f9f
[util/hb-ot-shape-closure] Fix showing glyph names
2022-07-18 12:23:57 -06:00
Behdad Esfahbod
38f2ec1703
[hb-shape] Move shape_output_t into separate file
2022-07-18 12:17:08 -06:00
Behdad Esfahbod
94be459808
[hb-shape] Internal rename
2022-07-18 12:13:48 -06:00