summaryrefslogtreecommitdiff
path: root/pango
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'fix/NULL-check-CTFontCollectionCreateMatchingFontDescriptors' ↵Matthias Clasen2023-02-181-2/+2
|\ | | | | | | | | | | | | | | | | into 'main' [fix] Refrain from walking / freeing `cffaces` if null Closes #724 See merge request GNOME/pango!672
| * [fix] Refrain from walking / freeing `cffaces` if nullDominique Quatravaux2023-01-191-2/+2
| |
* | Merge branch 'backspace-tweaks' into 'main'Matthias Clasen2023-02-051-1/+2
|\ \ | | | | | | | | | | | | Tweak backspace-deletes-character See merge request GNOME/pango!675
| * | Tweak backspace-deletes-characterbackspace-tweaksMatthias Clasen2023-02-041-1/+2
| | | | | | | | | | | | | | | | | | Don't set this flag for math symbols, to prevent symbols such as ≠ from 'splitting' under backspace.
* | | Drop an unnecessary conditionalMatthias Clasen2023-02-041-19/+3
|/ / | | | | | | | | It was added my mistake. This is not new harfbuzz api.
* | Small speedupmisc-optMatthias Clasen2023-01-301-1/+4
| | | | | | | | Optimize the ASCII case here.
* | shape: Avoid some overheadMatthias Clasen2023-01-301-1/+31
| | | | | | | | | | Most fonts are not color, no need to check that for every glyph.
* | Avoid some small allocationsMatthias Clasen2023-01-175-26/+78
|/
* Merge branch 'dwrite-cleanups' into 'main'Matthias Clasen2023-01-153-55/+39
|\ | | | | | | | | PangoWin32: Cleanup DirectWrite code a bit See merge request GNOME/pango!667
| * pangocairo-win32font.c: Drop an unused variableChun-wei Fan2022-12-231-1/+0
| |
| * pangowin32-dwrite-fontmap.cpp: Clean up code a bitChun-wei Fan2022-12-231-45/+27
| | | | | | | | | | | | We can just insert the IDWriteFont into our PangoWin32FontMap if we do need to create one. Just bail out if the IDWriteFont could not be created, which should be unlikely.
| * PangoWin32: Avoid initializing DirectWrite repeatedlyChun-wei Fan2022-12-232-9/+12
| | | | | | | | | | | | Make sure that we use the GPrivate to grab the DirectWrite boilerplate items that we might have setup, and only attempt to initialize DirectWrite if the items have not been previously setup.
* | Merge branch 'fix-word-start' into 'main'Matthias Clasen2023-01-151-1/+4
|\ \ | | | | | | | | | | | | | | | | | | Fix word start for Japanese Closes #721 See merge request GNOME/pango!669
| * | Fix word start for JapanesePeng Wu2023-01-101-1/+4
| |/ | | | | | | Closes #721
* | Added Indic LanguagesSudip Shil2023-01-091-0/+36
|/
* meson: Fix pangoft2.pc when using freetype and fontconfig subprojectsNirbheek Chauhan2022-12-171-1/+1
| | | | | | | | | | | | This is the same change that was made for pangocairo earlier. Without this, the pc file contains the following requires line: ``` Requires: pango, ``` Which is incorrect, and also invalid.
* PangoWin32FontMap: Re-add empty fontset fallbackLuca Bacci2022-12-161-5/+87
| | | | Fixes https://gitlab.gnome.org/GNOME/pango/-/issues/719
* Fix out argument annotationEmmanuele Bassi2022-11-211-1/+1
| | | | | A gunichar is a scalar value, and it doesn't get allocated when used as an out argument.
* Fix char offset calculationsfix-char-offsetMatthias Clasen2022-11-182-5/+9
| | | | | | | | | | | | When dealing with multi-paragraph layouts, the char offsets of the items are expected to be relative to the beginning of the text, not relative to the beginning of the current paragraph. This error was introduced in a03bf5bc6b07ba6e. Fixes: #716
* Merge branch 'array-annotations' into 'main'Matthias Clasen2022-11-182-5/+4
|\ | | | | | | | | Fix some g-i annotations related to arrays See merge request GNOME/pango!655
| * Fix some g-i annotations related to arraysSebastian Dröge2022-11-172-5/+4
| |
* | Improve PangoAttrList serializationMatthias Clasen2022-11-181-9/+61
| | | | | | | | | | | | | | Document the format, and improve the parser a bit, so we can use this format in GtkBuilder. Update affected tests.
* | CosmeticsMatthias Clasen2022-11-081-2/+2
|/
* Merge branch 'fix-707' into 'main'Matthias Clasen2022-10-183-48/+5
|\ | | | | | | | | | | | | Windows: Fix builds using HarfBuzz as subproject Closes #707 See merge request GNOME/pango!649
| * Revert "PangoWin32: Use HarfBuzz platform APIs if available"Chun-wei Fan2022-10-173-48/+5
| | | | | | | | | | | | | | | | | | | | | | It turned out that there were issues in regards to building HarfBuzz as a fallback dependency, so we retain using only the former method to create the hb_face_t using only raw data, which does not depend on platform API usage in HarfBuzz. Hence, reduce the clutter in the build files a bit, which was a necessary evil back in time. This reverts commit 6b0aa77d23ac969c12eab00b178957a63befe5bd.
* | Merge branch 'fix-gir-annotations' into 'main'Matthias Clasen2022-10-171-4/+4
|\ \ | |/ |/| | | | | Fix GIR annotations See merge request GNOME/pango!651
| * Fix GIR annotationsGuillaume Gomez2022-10-171-4/+4
| |
* | utils: Drop flockfile checkMatthias Clasen2022-10-161-6/+4
| | | | | | | | | | | | In practice, only Windows doesn't have these, so simplify our meson.build file by dropping the check for flockfile.
* | Fix the buildMatthias Clasen2022-10-161-1/+1
|/ | | | Annotations are picky about :
* Merge branch 'pango1-dwrite' into 'main'Matthias Clasen2022-10-137-106/+801
|\ | | | | | | | | 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.
| * 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-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | ...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
| |/ /
* | | Fix GIR annotation for pango contextGuillaume Gomez2022-10-121-19/+21
|/ /
* | 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
| |