summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix the buildMatthias Clasen2022-10-161-1/+1
|/ | | | Annotations are picky about :
* Merge branch 'pango1-dwrite' into 'main'Matthias Clasen2022-10-138-106/+828
|\ | | | | | | | | Pango-1.x: Add some DirectWrite support as a supplement See merge request GNOME/pango!635
| * pango-font-private.h: Fix build with DirectWriteChun-wei Fan2022-09-261-1/+1
| | | | | | | | | | | | The recent additions to this file must be updated so that this header can be successfully consumed when building in C++ mode, i.e. with DirectWrite. Cast items as needed.
| * PangoWin32: Use HarfBuzz platform APIs if availableChun-wei Fan2022-09-263-5/+48
| | | | | | | | | | | | | | Use the DirectWrite and/or GDI APIs in HarfBuzz to create the hb_font_t's that we need, if they are available in HarfBuzz. Use the former raw-data method if neither are available, or if using DirectWrite failed and GDI support is not available.
| * meson.build: Check for GDI and DirectWrite support in HarfBuzzChun-wei Fan2022-09-261-0/+18
| | | | | | | | | | | | | | | | These support are not enabled by default when building HarfBuzz, but if one or both are enabled, we can simplify the codepath to create the needed hb_face_t. This was not added previously as the needed HarfBuzz GDI API was not available at the time the code was written and we are only integrating DirectWrite now.
| * PangoCairo: Create cairo_font_face_t using DirectWriteChun-wei Fan2022-09-261-0/+26
| | | | | | | | | | | | | | | | | | | | ...if Cairo is built with DirectWrite support. With this, we can support colored Emoji, a long-standing issue, on Windows without needing to use FontConfig, on Windows 8.1 or later, since DirectWrite added support for colored Emoji starting with Windows 8.1. This will really fix issue !302 completely, regarding the Emoji not shown in color!
| * PangoWin32: Add private API to clean up IDWriteFontFaceChun-wei Fan2022-09-262-0/+12
| | | | | | | | | | | | ...which is needed for PangoCairo for Windows, when DirectWrite is used to create the cairo_font_face_t, so that that object does get cleaned up when the cairo_font_face_t is destroyed.
| * PangoWin32: Add private API for getting IDWriteFontFace from fontChun-wei Fan2022-09-262-8/+49
| | | | | | | | | | | | | | This moves some items under PangoWin32 in the DirectWrite support to simplify acquiring the DirectWrite font face that is needed for various operations, as we will need to do this in PangoCairo in the Windows support.
| * PangoWin32: Split out acquiring IDWriteFont from PangoWin32FontChun-wei Fan2022-09-261-12/+30
| | | | | | | | | | This will be carried out by various functions, so we want to reuse things.
| * PangoWin32: Implement is_hinted on Windows using DirectWriteChun-wei Fan2022-09-265-0/+104
| | | | | | | | | | | | | | | | ... by querying the font table 'gasp' and see whether the bits needed for hinting are there. Codewise, it is simpler with GDI+, but it would then require more overhead since GDI(+) operations are needed (this means "slower") and we need to put boilerplates for using GDI+ from our plain-C code.
| * PangoWin32: Also use DirectWrite for font descriptions on LOGFONTA'sChun-wei Fan2022-09-261-0/+36
| | | | | | | | | | | | | | Extend the support to use DirectWrite to query the font descriptions from LOGFONTA's, by using a temporary LOGFONTW which uses the UTF-16'fied facename converted directly using g_locale_to_utf8 (), since DirectWrite expects us to use LOGFONTW's for its GDI interop operations.
| * PangoWin32: Query font descriptions using DirectWrite on LOGFONTW'sChun-wei Fan2022-09-263-86/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | We now use DirectWrite to query the font weight, stretch, description and so on by using first DirectWrite's GdiInterop to convert the logfontw into an IDirectWriteFont, since the support in there for querying font attributes are more complete in there. Take out the warned fonts items, as DirectWrite would support the font attributes that we need much better (i.e. stretch and so on), and the warned fonts items will get into the way. Portions based on Luca Bacci's work for querying the font description for Windows using DirectWrite for the upcoming Pango2.
| * pangowin32: Check for MonoSpace fonts using DirectWriteChun-wei Fan2022-09-263-3/+33
| | | | | | | | | | | | | | ...if we have Windows 7 with the platform update (which is normally the case), otherwise we fallback to former GDI approach, since we need to use the IDWriteFont1 interface that is only available with updated Windows 7.
| * pangowin32: Use DirectWrite to enumerate system fontsChun-wei Fan2022-09-263-12/+144
| | | | | | | | | | | | | | | | | | | | | | | | ...instead of using EnumFontFamiliesEx(), and retrieve the LOGFONTW's that we need via DirectWrite's GDI interop. Also cache up our IDWriteFont's that we obtained, so that we can use DirectWrite to query font properties better than what GDI/Uniscribe can do for us, such as obtaining stretch info from the font. Also update synthesize_foreach() accordingly, since we should also record the IDWriteFonts as well for synthesized LOGFONTWs. Portions based on Luca Bacci's implementation of the DirectWrite fontmap support in the upcoming Pango2.
| * pangowin32: Initialize DirectWriteChun-wei Fan2022-09-266-1/+115
| | | | | | | | | | We set up the boilerplate that is necessary for using DirectWrite in our code. Also add code to tear it down after we are done with it.
| * build: Check for DirectWrite supportChun-wei Fan2022-09-262-0/+10
| | | | | | | | | | | | | | | | | | | | | | ...in Cairo, as well as their presence in the Windows SDKs (which should always be there in the Windows SDKs). We want to use items in DirectWrite to help us improve support on Windows regarding looking up for features (description) of a font. Since upstream Cairo gained DirectWrite support very recently, check for it only via pkg-config, since Cairo had Meson build support quite a bit before that happened.
* | Merge branch 'more-gir-annotations-fixes' into 'main'Matthias Clasen2022-10-134-76/+76
|\ \ | | | | | | | | | | | | Fix GIR annotations in multiple files See merge request GNOME/pango!648
| * | Fix GIR annotations in multiple filesGuillaume Gomez2022-10-124-76/+76
| | |
* | | Merge branch 'fix-gir-annotations-fonts' into 'main'Matthias Clasen2022-10-131-48/+48
|\ \ \ | | | | | | | | | | | | | | | | Fix GIR annotations for fonts.c See merge request GNOME/pango!647
| * | | Fix GIR annotations for fonts.cGuillaume Gomez2022-10-121-48/+48
| |/ /
* | | Merge branch 'gir-annotations-pango-context' into 'main'Matthias Clasen2022-10-131-19/+21
|\ \ \ | |/ / |/| | | | | | | | Fix GIR annotation for pango context See merge request GNOME/pango!646
| * | Fix GIR annotation for pango contextGuillaume Gomez2022-10-121-19/+21
|/ /
* | Merge branch 'unicode15' into 'main'Matthias Clasen2022-10-125-217/+230
|\ \ | | | | | | | | | | | | Update pango to support Unicode 15 See merge request GNOME/pango!645
| * | Update Unicode test cases to Unicode 15Peng Wu2022-10-113-15/+15
| | |
| * | Update pango-break-table.h to Unicode 15Peng Wu2022-10-111-175/+192
| | |
| * | Update pango-emoji-table.h to Unicode 15Peng Wu2022-10-111-27/+23
|/ /
* | Merge branch 'fix-coretext-pango-weight-out-of-range-conversion' into 'main'Matthias Clasen2022-10-051-1/+1
|\ \ | | | | | | | | | | | | Fixes typo in coretext to pango weight conversion when out of range See merge request GNOME/pango!644
| * | Fixes typo in MR GNOME/pango!502 (commit 050e321e) (ct_weight -> pango_weight).Hugo Herbelin2022-10-041-1/+1
|/ / | | | | | | See #705 and also https://gitlab.gnome.org/GNOME/gtk/-/issues/5226.
* | Post-release version bumpMatthias Clasen2022-10-032-1/+4
| | | | | | | | | | Trying to get back into the habit of bumping the version in git right after a release.
* | 1.50.111.50.11Matthias Clasen2022-10-032-1/+6
| |
* | Merge branch 'avoid-shape-crash' into 'main'Matthias Clasen2022-10-021-4/+17
|\ \ | | | | | | | | | | | | shape: Don't crash if log_attrs is NULL See merge request GNOME/pango!643
| * | shape: Don't crash if log_attrs is NULLavoid-shape-crashMatthias Clasen2022-10-021-4/+17
|/ / | | | | | | | | | | | | | | | | We accept NULL for log_attrs, so we should not crash when we are given NULL. While fixing this, clarify the documentation of the various shaping APIs for what they can and cannot do. Related: !641
* | Merge branch 'no-font-fixes' into 'main'Matthias Clasen2022-09-275-1/+189
|\ \ | |/ |/| | | | | | | | | fonts: Handle lack of fonts Closes #701 See merge request GNOME/pango!640
| * Add a test for no-fontsno-font-fixesMatthias Clasen2022-09-263-0/+181
| | | | | | | | | | | | | | Test that the layout is made up entirely of unknown glyphs if we have no font. The main point of this test is to ensure that we don't crash if analysis->font is NULL.
| * serializer: Handle lack of fontsMatthias Clasen2022-09-261-1/+2
| | | | | | | | | | | | Make the serializer only serialize the font of a layout if it is not NULL. This lets us survive no-fonts situations better.
| * fonts: Handle lack of fontsMatthias Clasen2022-09-261-0/+6
|/ | | | | | | | Make pango_font_get_scale_factors return 1 if the font is NULL. This avoids crashes in situations where we cannot find any fonts. Fixes: #701
* NEWS: fix a typoMatthias Clasen2022-09-201-1/+1
|
* 1.50.101.50.10Matthias Clasen2022-09-162-1/+6
|
* Merge branch 'pierrot.labastie-main-patch-87586' into 'main'Matthias Clasen2022-09-121-1/+1
|\ | | | | | | | | Fix meson summary for Introspection See merge request GNOME/pango!638
| * Fix meson summary for IntrospectionPierre Labastie2022-09-121-1/+1
|/
* Merge branch 'layout-font-scale' into 'main'Matthias Clasen2022-09-081-2/+7
|\ | | | | | | | | | | | | layout: Fix line height computations Closes #691 See merge request GNOME/pango!637
| * layout: Fix line height computationslayout-font-scaleMatthias Clasen2022-09-061-2/+7
|/ | | | | | | | We were using the font metrics height, which is scaled by the ctm, so we need to take the font scale factors into account here. Fixes: #691
* Merge branch 'strdup-avoidance' into 'main'Matthias Clasen2022-08-285-30/+71
|\ | | | | | | | | fc: Avoid extra copies of family names See merge request GNOME/pango!636
| * itemize: Use pango_font_get_variantstrdup-avoidanceMatthias Clasen2022-08-271-9/+2
| | | | | | | | | | This avoids the unnecessary copy of the fonts font description, just to extract the variant.
| * font: Add private api to get the variantMatthias Clasen2022-08-272-0/+31
| | | | | | | | | | | | Add a private pango_font_get_variant, and implement it for PangoFcFont. This will let us avoid many pointless font description copies.
| * fc: Avoid extra copies of family namesMatthias Clasen2022-08-273-21/+38
|/ | | | | | | | When we create a PangoFcFont from an FcPattern, we know that the pattern will live as long as the font and the font description we create at the same time. So there is no need to copy the strings we get out of the pattern.
* 1.50.91.50.9Matthias Clasen2022-08-092-1/+6
|
* Merge branch 'thread_safety_problem' into 'main'Matthias Clasen2022-07-311-7/+8
|\ | | | | | | | | | | | | fix thread safety problem Closes #689 See merge request GNOME/pango!634
| * fix thread safety problemmisos12022-07-311-7/+8
|/
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2022-07-284-6/+8
|\ | | | | | | | | docs: Remove an oddity See merge request GNOME/pango!633