Commit Graph

15229 Commits

Author SHA1 Message Date
Behdad Esfahbod 0ec0214f10 [cff-subset] Adjust pre-allocation
Reduces memory use significantly.
2022-12-31 13:19:38 -07:00
Behdad Esfahbod b88ca81814 [paint-extents] Minor reorder 2022-12-31 12:53:00 -07:00
Behdad Esfahbod 0c6a721337 [set] Another exact-size allocation 2022-12-31 12:42:29 -07:00
Behdad Esfahbod b803024caf [cff2] Another exact-size allocation 2022-12-31 12:40:07 -07:00
Behdad Esfahbod 3d4659beaa [cff2] Use exact-size vector allocation for blends 2022-12-31 12:38:58 -07:00
Behdad Esfahbod 92e5933ee6 [vector] A couple more exact-size allocations 2022-12-31 12:35:30 -07:00
Behdad Esfahbod 2eacc37e08 [vector] Add internal API for exact-size allocation
Use it from a couple of places.
2022-12-31 12:30:31 -07:00
Behdad Esfahbod a0b46f3f6b [machinery] Refactor shared code into a macro 2022-12-31 12:15:14 -07:00
Behdad Esfahbod ebb475bae7 [multimap] Add consts 2022-12-31 12:11:14 -07:00
Behdad Esfahbod 9e3ff0e9f0 [paint] Fixup 2022-12-31 11:55:45 -07:00
Behdad Esfahbod 6b47fcb17a [paint] Add internal push_skew/pop_skew API 2022-12-31 11:40:12 -07:00
Behdad Esfahbod 46adf31b4c [paint] Add internal push_rotate/pop_rotate API 2022-12-31 11:35:39 -07:00
Behdad Esfahbod ce7835124a [paint] Add internal push_scale/pop_scale API 2022-12-31 11:32:15 -07:00
Behdad Esfahbod 7363eb373a [paint] Add internal push_translate/pop_translate 2022-12-31 11:24:42 -07:00
Behdad Esfahbod df91677997 [paint] Call internal API internally 2022-12-31 11:12:02 -07:00
Behdad Esfahbod 99da0e6cc3 [paint] Avoid div-by-zero 2022-12-31 11:04:40 -07:00
Behdad Esfahbod 4e94b65cff [paint-extents] Const-correctness 2022-12-31 10:53:40 -07:00
Behdad Esfahbod f6dc4698ef [paint-extents] Minor move variable 2022-12-31 10:52:32 -07:00
Behdad Esfahbod 4e7807a090 [paint-extents] Rename variable 2022-12-31 10:50:30 -07:00
Behdad Esfahbod c86d1892ad [paint-extents] Move code around 2022-12-31 10:46:46 -07:00
Behdad Esfahbod d9a9bd8fa8 [paint-extents] Add HB_UNUSED 2022-12-31 10:41:30 -07:00
Matthias Clasen 956ccb11a8 [docs] Add a section about rendering 2022-12-31 10:26:38 -07:00
Matthias Clasen 63cd1cce67 [docs] Drop stale commented-out section
Freetype integration is documented elsewhere now.
2022-12-31 10:26:38 -07:00
Matthias Clasen a390590451 Mention named instances in the var-fonts section 2022-12-31 10:26:38 -07:00
Behdad Esfahbod 37e90c64c1 [cairo] Fix warnings 2022-12-30 15:41:40 -07:00
Behdad Esfahbod 04464c55b2 [pool] Change chunk-len from 16 to 32 2022-12-30 14:55:32 -07:00
Behdad Esfahbod d7941e04df [paint-extents] Unlikely 2022-12-30 14:47:47 -07:00
Behdad Esfahbod ca844b6975 [paint-extents] Whitespace 2022-12-30 14:47:24 -07:00
Behdad Esfahbod 62ca2be39d [paint-extents] Implement quadratic callback 2022-12-30 14:41:36 -07:00
Behdad Esfahbod 7389efd8e0 [post] Pre-alloc name index array 2022-12-30 13:58:52 -07:00
Behdad Esfahbod 36bef5dccf [gsubgpos] Prealloc subtables vector 2022-12-30 13:58:52 -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 a45bf5b04c [ft-colr] Require FreeType >= 2.11.1
Fixes https://github.com/harfbuzz/harfbuzz/issues/3989
2022-12-30 11:19:36 -07:00
Behdad Esfahbod ceba6c9a90 [config] Sort 2022-12-30 10:44:34 -07: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 f2a6643fc1 [cairo] Docs 2022-12-29 18:00:39 -07:00
Behdad Esfahbod bfce4a6046 [cairo] Remove error path
Assume cairo API always returns non-NULL.
2022-12-29 10:43:37 -07:00
Behdad Esfahbod b1de87b7f1 [cairo] Document get_glyphs() arguments as inout 2022-12-29 10:41:35 -07:00
Matthias Clasen 3be9fa07f6 [docs] Mention new font-funcs in the user manual 2022-12-29 10:09:50 -07:00
Matthias Clasen 2c2121784a [docs] Add a Cairo integration section 2022-12-29 10:09:50 -07:00