| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add 2 APIs for querying the Pango2FontDescription that corresponds to the
specified Windows LOGFONTW (GDI font) or IDWriteFont, largely using the
code that we already have in the DirectWrite support.
Notice that with the LOGFONTW path, we use DirectWrite's GDI interop to
acquire a IDWriteFont first and then go down the same (existing) route
as when we use a IDWriteFont, since it may be necessary to use LOGFONTW's
since Windows APIs such as SystemParametersInfoW() return LOGFONTW's
instead of IDWriteFont's, but DirectWrite has more fine-grained support
for font properties than GDI.
|
|
|
|
|
|
|
| |
This makes our DirectWrite fontmap object to set up GDI interop, since there
are times when we still need to deal with GDI LOGFONTW objects, such as when we
query the system fonts via SystemParametersInfoW() where the returned Windows
font object is a LOGFONTW.
|
|
|
|
|
|
|
|
|
| |
Apparently the check for character values less than 0x20 to determine
whether to output \uXXXX in leau of the actual UTF-8 strings break the
layout test on Windows.
Just print the UTF-8 string as-is unless specifically set to output only
ascii lines.
|
| |
|
|
|
|
| |
We were mixing up Pango units and pixels here.
|
|
|
|
|
|
| |
We were mishandling getting items from the fallback,
and we were not sending all required change notification
when setting fallback.
|
| |
|
|
|
|
|
|
| |
It turns out that fonts are unreliable in claiming
support for und-zsye or und-zsym, so try without
language before giving up.
|
|
|
|
|
| |
This is an attempt at improving font selection
for text-presentation Emoji.
|
|
|
|
|
|
|
|
|
| |
Add a context property and attribute for influencing
the presentation of Emoji. Emoji whose presentation is
explicitly set in the text via variation selectors are
not changed.
Related: #298
|
|
|
|
|
|
| |
Actually skip non-monospace fonts for 'Monospace',
and skip color Emoji fonts when we're not assembling
the 'Emoji' alias.
|
| |
|
|
|
|
| |
This is useful when dumping fontmaps.
|
|
|
|
| |
Allow specifying tab positions in spaces.
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds more font families for the PangoFontMap for the aliases that we are
using, as per what we did in Pango-1.x, sans the families that we share for
different Unicode needs, which would be used in fallback fontmaps.
Fallbacks would be added in a later commit, when it is clearer for how to
create a PangoFontMap for that purpose.
|
|
|
|
|
|
|
| |
We want to make this code shared between the DirectWrite code and the legacy
GDI code, since we want to add aliases (and eventually, fallbacks) for all
cases, at least on Windows (well, font family names do not differ between
DirectWrite and GDI on a given Windows system :))
|
|
|
|
|
|
| |
... for now, until https://github.com/harfbuzz/harfbuzz/issues/3683 is resolved.
See discussion in https://gitlab.gnome.org/GNOME/pango/-/merge_requests/602.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a pango_context_set_palette to select whether
we prefer the default palette, the palette for light
background, or the palette for dark background. Also
add a palette attribute that can be used to override
this.
Make the cairo renderer pick up the palette, and
apply it when installing the font for a run.
Predefined palette names are "default", "light",
"dark", "palette0", "palette1", ...
Additionally, PangoHbFace can associate custom
names with palette indices.
To try this, use the new --palette option of
pango-view.
Fonts to try this with are Amiri Quran Colored
or the Bungee Color family.
|
|
|
|
| |
This was missing
|
|
|
|
|
|
|
| |
We only want line separators at the line end
to be visible when the show flags say so. This
was not working before, because the shaping always
marks LS as unknown glyph.
|
|
|
|
|
|
|
| |
We want to keep the characteristics of the font,
but the faceid is pointless to keep, since we
are explicitly looking for monospace, not the
same face.
|
|
|
|
|
| |
This can replace some of the clunky constructors,
and is more extensible, going forward.
|
|
|
|
|
| |
This is an attempt to see if the DirectWrite support
works better in 4.4.1.
|
|
|
|
| |
We moved things from pango/ to pango2/.
|
| |
|
|
|
|
|
|
| |
It turns out that the harfbuzz code that gives us
native font objects does not always work, so fall back
to using cairo-ft on all platforms.
|
|
|
|
| |
HarfBuzz does that in its own ci.
|
|
|
|
|
|
| |
It seems that we weren't getting the Pango2Stretch values from DirectWrite
correctly. Seems like the Pango2Stretch enumerations were largely in line
with the enumerations indicated by DWRITE_FONT_STRETCH.
|
|
|
|
| |
The function called has been renamed. Update accordingly.
|
|
|
|
|
| |
Fix the build after renaming to pango2. Rename function calls and comments
as appropriate.
|
|
|
|
|
| |
Make sure the version variables are correct in the resource file template,
and make up for those that we did not put in to pango_conf in meson.build.
|
|
|
|
|
| |
We still refer to the project as 'Pango' in docs
and comments, even though the prefix now is 'Pango2'.
|
|
|
|
| |
Sucks that we have to do this manually.
|
|
|
|
|
| |
Add PANGO_HAS_FC/CORE_TEXT/DIRECT_WRITE_FONTMAP macros
to let apps check for the presence of native fontmaps.
|
|
|
|
|
| |
Since we don't have Xft api anymore, the only
usable viewer is the cairo one.
|
|
|
|
|
|
|
|
|
|
| |
We need to be more careful when creating a cairo
font face. Even on Windows or macOS, we may encounter
hb_font_t's that haven't been created from a native
font, so we need to handle those (if we have freetype).
Also simplify the cairo build machinery a bit, and
rely more on cairo-features.h.
|
|
|
|
| |
With separate namespaces, this is no longer necessary.
|
| |
|
| |
|
|
|
|
|
|
| |
Life is easier if the src path matches the installed
header path prefix, so make them match. Update all
users.
|
|
|
|
|
|
| |
Change our versioning setup from "pango 2.0" to "pango2 1.0".
The shared library we install is now libpango2, and the
headers go in /usr/include/pango2-1.0/pango2/.
|
|
|
|
|
|
| |
This makes pango 2 not just parallel-installable
with pango 1.x, but parallel-usable in the same
process.
|
|
|
|
|
|
| |
Sadly, building pixman for ARM64 Windows currently requires clang-cl, so let
people know that they should not let Pango build pixman for them if they are
building for ARM64 Windows.
|
|
|
|
|
| |
Make it more consistent with the other files, since having this file in Windows
CR/LF format is not that important anymore.
|
|
|
|
| |
This makes the text formatting more pleasing to the eye on a web browser.
|
|
|
|
|
|
| |
We had a leftover include in pango-font-family.h.
It is not needed, so drop it and instead include
gio where we use its api.
|
|
|
|
|
| |
If the input is outside the [0, 1] range,
acos returns NaN, so clamp to be safe.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is no more FontConfig support for Windows for Pango2, and let
people know they need DirectWrite support enabled in HarfBuzz and Cairo,
which may not be enabled by default.
Also let people know that if building HarfBuzz as a fallback as a part
of building Pango2, Visual Studio 2017 or later is required to
successfully build HarfBuzz.
Note that HarfBuzz DLLs built with Visual Studio 2017 or later should be
compatible with Pango built with Visual Studio 2015.
|
|
|
|
| |
Most tests don't require cairo apis.
|