| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This renders correctly in ci.
This attempts to acquire the hb_font_t from the HFont that we acquire
from the Windows HFONT that we use, so that we can pass things to
HarfBuzz, which will handle the shaping for us.
win32: Set scale on hb font
|
|
|
|
| |
This has been tested and renders correctly.
|
|
|
|
|
| |
Stop using FT_Face here, so we can stop
including freetype headers.
|
| |
|
|
|
|
|
| |
We are moving away from a freetype dependency,
so these will be going away at some point.
|
|
|
|
| |
Harfbuzz has the api, no need to use freetype.
|
|
|
|
|
|
| |
Note that some of the harfbuzz api we use here
has not landed yet.
See https://github.com/harfbuzz/harfbuzz/pull/1432
|
|
|
|
| |
This is now unused.
|
|
|
|
| |
We don't need our own caching here.
|
|
|
|
|
| |
Use typechecks for the two remaining bits of
code that use PangoFcFont.
|
|
|
|
|
|
| |
The frontend is caching this object, and we are giving
it out to applications. We really can't allow them to
modify it in any way.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move all the code that sets up the hb_font_t to
pango_fc_font_create_hb_font, and use it from
the shaper. This is the second step towards
taking over font management.
Even better, harfbuzz has a ready-made function
for this. We can drop a lot of FT_Face-using code
this way. We assume unhinted rendering for now,
so we can set ppem to 0.
|
| |
|
|
|
|
|
| |
Add pango_font_get_hb_font, which will make it easier
access harfbuzz features.
|
| |
|
|
|
|
| |
These are clang warnings.
|
| |
|
|
|
|
|
| |
create_base_metrics is not meant to fill in widths.
That is done in _pango_cairo_font_get_metrics.
|
| |
|
|
|
|
|
|
| |
With the inserted hyphens we end up in a situation
where we have start_char == end_char at the end
of an item. It seems to be otherwise harmless.
|
|
|
|
|
|
| |
When we are uninserting a hyphen run, we need
to undo the modifications of the item we split
it off from.
|
|
|
|
|
|
| |
We were sometimes adding a hyphen width when the
break we were taking did not actually require a
hyphen, causing us to break prematurely.
|
| |
|
|
|
|
|
| |
We were just returning a boolean, leaving
it up to luck to match coverage level enum values.
|
|
|
|
| |
pango_attribute_equal does not compare ranges. Oops.
|
|\
| |
| |
| |
| | |
Tailor break
See merge request GNOME/pango!86
|
| |
| |
| |
| |
| | |
To break correctly, use pango_default_break and
pango_tailor_break.
|
| |
| |
| |
| |
| |
| | |
Call pango_default_break on the entire text,
and then pango_tailor_break on segments with
homogeneous language and script.
|
| |
| |
| |
| |
| |
| | |
This function lets you apply language-specific
tailoring on top of breaks produced by
pango_default_break.
|
| | |
|
| |
| |
| |
| |
| |
| | |
PangoContext has somewhat redundant code to create
metrics, which wasn't treating the new height member
like it should.
|
|/
|
|
|
| |
We use them in a loop. Don't free them before
the loop is done.
|
|
|
|
| |
Make sure we declare variables at the top of the block.
|
|
|
|
|
| |
insert_run (... TRUE) frees the need_hyphen array,
so we need to check for the hyphen beforehand.
|
|
|
|
|
|
|
|
|
|
|
| |
Point the item that we create for the inserted hyphen
at the SHY in the paragraph text, shortening the previous
run by one character.
It would be nicer to not insert an extra run at all
and just reshape the previous one in a way that maps
the SHY to a hyphen, but that is more difficult to do
as long as we are going through the shape engine API.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had some sad cases where we used a char offset
as a byte index, with the expected bad results once
there are multibyte characters in the mix.
Instead of poking at the text in the middle of
line-breaking, go back to keeping a plain array
of positions that need a hyphen inserted. We
maintain this array in parallel to the existing
log_widths array, so hopefully the offset math
is working out now.
It is tempting to look at log_attrs.is_white for this,
but that gives us double hyphens when breaks are taken
at explicit hyphens. So, keep this information separately.
|
|
|
|
|
| |
We had a boolean member in ParaBreakState that
was used as an int. Oops
|
| |
|
|
|
|
| |
Avoid duplicate comments in struct defintions.
|
| |
|
| |
|
|
|
|
| |
We have pango_font_has_char now.
|
|
|
|
|
| |
We already had a has_char api in pangofc,
so use that name.
|
|
|
|
| |
This reverts commit f972ba0562823a8d55ad02ff9609481a884c79f8.
|
|
|
|
| |
This reverts commit 8b85815f1b122842d915e7fc29cc68d228a64dbb.
|
|
|
|
| |
This should do a deep copy.
|
|
|
|
| |
We never created the set. Oops.
|
| |
|
|
|
|
| |
gtk-doc doesn't like these.
|
|
|
|
| |
Don't use deprecated api to implement deprecated api!
|