summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Drop now unused mini-fribidifribidi-upstreamKhaled Hosny2017-11-1316-8880/+0
|
* Switch to using external FriBiDiKhaled Hosny2017-11-135-29/+40
|
* 1.40.131.40.13Matthias Clasen2017-10-273-2/+8
|
* Fix parameter name to match implementationMatijs van Zuijlen2017-10-271-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=781857
* Update pango_default_break function for Line BreakPeng Wu2017-10-271-459/+421
| | | | | | Support Line Break of Unicode 9.0. https://bugzilla.gnome.org/show_bug.cgi?id=788115
* PangoLayout: Optimize pango_layout_get_baselineTimm Bäder2017-10-271-5/+6
| | | | | | | | | | | | | | The baseline is the baseline of the first line of text in the layout, so we can simply _get_extents_internal and use the extents of the first line we get from that. This is not a perfect solution (e.g. gtk+ calls pango_layout_get_extents before a pango_layout_get_baseline call and the former calls get_extents_internal anyway, so we compute the extents twice...) but it improves the situation pointed out by the comment in pango_layout_get_baseline. https://bugzilla.gnome.org/show_bug.cgi?id=788643
* PangoLayoutIter: Allocate an array of Extents instead of a linked listTimm Bäder2017-10-272-59/+42
| | | | | | | | Since PangoLayout caches the amount of lines it contains in ->line_count, we can use this to pre-allocate an Extents array of the appropriate size. https://bugzilla.gnome.org/show_bug.cgi?id=788643
* layout/renderer: Don't heap-allocate short lived layout iteratorsTimm Bäder2017-10-272-35/+37
| | | | | | | Use the new _pango_layout_get_iter and _pango_layout_iter_destroy instead. https://bugzilla.gnome.org/show_bug.cgi?id=788643
* layout: Move PangoLayouIter struct to private headerTimm Bäder2017-10-272-57/+80
| | | | | | | And add _pango_layout_get_iter as well as _pango_layout_iter_destroy that can be used for internal, stack allocated PangoLayoutIters. https://bugzilla.gnome.org/show_bug.cgi?id=788643
* testiter: Don't leak PangoFontDescriptionsTimm Bäder2017-10-271-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=788643
* Visual Studio builds: Enhance security of x64 binariesChun-wei Fan2017-10-201-0/+4
| | | | | | | Use the HIGHENTROPYVA linker option on x64 builds with MSVC 2012 and later to enhance the security of the built binaries. Pointed out by Ignacio Casal Quinteiro.
* meson: Add required gir dependencies to fix broken buildRico Tzschichholz2017-09-251-6/+18
|
* Fix warningBehdad Esfahbod2017-09-181-7/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=787194
* meson: Rework gir/typelib generation and dependenciesNirbheek Chauhan2017-09-111-43/+34
| | | | | | | | | | Don't use --include-uninstalled, it's not needed with Meson because we take care of inter-gir target dependencies. Add girs and typelibs to the relevant libpango*_dep declared dependencies so that they can be used via subprojects. https://bugzilla.gnome.org/show_bug.cgi?id=787414
* meson: Build .rc files on WindowsChun-wei Fan2017-09-095-4/+43
| | | | | | | | Like the autotools builds, build the .rc files for the PangoCairo, PangoFT2, PangoWin32 and Pango DLLs so that people can see the version info more easily. https://bugzilla.gnome.org/show_bug.cgi?id=783274
* 1.40.121.40.12Matthias Clasen2017-09-043-2/+7
|
* Fix multilib issue in pango-enum-types.h.templateAkira TAGOH2017-08-301-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=786887
* Fix pango_default_break function for sentence start/endPeng Wu2017-08-301-10/+29
| | | | | | Skip the space characters in sentence start/end. https://bugzilla.gnome.org/show_bug.cgi?id=785978
* build: Update MSVC build docs for introspectionChun-wei Fan2017-08-252-0/+32
| | | | | Let people know about the situation where one is able to build the introspection files directly from within the Visual Studio projects.
* build: Integrate introspection build in MSVC projectsChun-wei Fan2017-08-2516-13/+251
| | | | | | | | | | | | | | | | | | | | | This adds the introspection NMake Makefiles buildable from within the Visual Studio projects, so that the whole Visual Studio build process would be simplified. At its current state, this will build the introspection files for PangoCairo and Pango, but does not include PangoFT2 support, so this is not supported in the [Release|Debug]_FC configs. For this to work, one needs to have a complete installation of GObject-introspection in $(GlibEtcInstallRoot), and will need to ensure that PythonDir (or PythonDirX64 on x64 systems) corresponds to the same Python series that was used to build GObject-Introspection. This needs to be built (and cleaned) separately as this is not built by default, by building/cleaning the pango-introspect project directly. In this commit, also rename the PythonPath entries in the projects and property sheets, so that we avoid getting confused with the PYTHONPATH envvar; and for Visual Studio 201x builds, we use Python 3.4.x by default 2010, 2012 and 2013, and 3.6.x by default for 2015 and 2017, as what is done now in GObject-Introspection projects.
* 1.40.111.40.11Matthias Clasen2017-08-193-2/+8
|
* Fix backspacing for more Emoji sequencesMatthias Clasen2017-08-171-1/+4
| | | | | | | Behdad pointed out that I didn't get it right for flags and for sequences ending in a skin tone modifier. Fix that.
* [test] Reduce test-pangocairo-thread work by 8xBehdad Esfahbod2017-08-161-2/+2
| | | | Fixes https://bugzilla.gnome.org/show_bug.cgi?id=786379
* 1.40.101.40.10Matthias Clasen2017-08-153-2/+9
|
* Fix backspace-deletes-character for EmojiMatthias Clasen2017-08-151-3/+11
| | | | | | | | We want to delete the entire cluster if it is an Emoji. To do so, look at prev_GB_type to find Emoji. This fixes backspacing for sequences like "man health worker" or "family: man, woman, boy, girl".
* break: Stop lumping ZWJ with ExtendMatthias Clasen2017-08-152-14/+34
| | | | | | | | | | ZWJ is treated as its own class in TR29, and us lumping them together and then manually checking wc == 0x200d in various places was causing us to inadvertedly inserting grapheme breaks in the middle of Emoji ZWJ sequences where they are not suppose to be. Add test cases to verify this.
* break.c: Fix indentation a bitMatthias Clasen2017-08-151-97/+96
| | | | | Messed up whitespace makes this unwieldy function even harder to read.
* CoreText: Remove absolute size and scaling to screen resolution.John Ralls2017-08-156-66/+44
| | | | | | | | | | | | | Cairo's CGFont backend already handles scaling fonts to the display resolution, so scaling to the screen screen resolution in Pango's CoreText backend generates double-sized text on a Retina display. The layout test depended on providing a (bogus) resolution of 96DPI and scaling the font to it in order to obtain the "expected" layout results. This is replaced by adjusting the font size in test-layout.c if Pango is compiled for CoreText. https://bugzilla.gnome.org/show_bug.cgi?id=782393
* mini-fribidi: Squash -Werror=undef failures due to use of #ifPhilip Withnall2017-08-141-0/+9
| | | | | | | | | | | | The FriBiDi code uses #if rather than #ifdef, which pedantic compilers warn about if the macro is undefined. The new Meson build sets -Werror=undef, promoting these warnings to failures, and making CI systems using certain compiler versions (in this case, Debian Jessie) sad. Signed-off-by: Philip Withnall <withnall@endlessm.com> https://bugzilla.gnome.org/show_bug.cgi?id=786192
* Support variation selectors for shapingMatthias Clasen2017-08-121-1/+22
| | | | | This is necessary to make some emoji sequences shape and render correctly.
* Bug 784243 - Pango gravity is not applied on markup with multiple spans.Behdad Esfahbod2017-08-111-3/+1
| | | | Patch from Harioum Pratap Singh.
* Update emoji data to version 5Behdad Esfahbod2017-08-111-10/+42
|
* Simplify hb_buffer_set_flags()Behdad Esfahbod2017-08-101-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From a 2014 HarfBuzz commit: commit 763e5466c0a03a7c27020e1e2598e488612529a7 Author: Behdad Esfahbod <behdad@behdad.org> Date: Sat Aug 2 16:17:44 2014 -0400 Make it easier to use HB_BUFFER_FLAG_BOT/EOT Previously, we expected users to provide BOT/EOT flags when the text *segment* was at paragraph boundaries. This meant that for clients that provide full paragraph to HarfBuzz (eg. Pango), they had code like this: hb_buffer_set_flags (hb_buffer, (item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) | (item_offset + item_length == paragraph_length ? HB_BUFFER_FLAG_EOT : 0)); hb_buffer_add_utf8 (hb_buffer, paragraph_text, paragraph_length, item_offset, item_length); After this change such clients can simply say: hb_buffer_set_flags (hb_buffer, HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT); hb_buffer_add_utf8 (hb_buffer, paragraph_text, paragraph_length, item_offset, item_length); Ie, HarfBuzz itself checks whether the segment is at the beginning/end of the paragraph. Clients that only pass item-at-a-time to HarfBuzz continue not setting any flags whatsoever. Another way to put it is: if there's pre-context text in the buffer, HarfBuzz ignores the BOT flag. If there's post-context, it ignores EOT flag.
* Release Pango 1.40.91.40.9Emmanuele Bassi2017-08-093-2/+7
| | | | | | | Changes from 1.40.8: - Build and dist fixes - Fix build on Windows with MSVC (#783274)
* docs: Use Markdown instead of DocbookEmmanuele Bassi2017-08-091-9/+9
| | | | | | | The example code is not correctly escaped, and gtk-doc has become slightly more strict. This is a good chance to port this bit of the API reference to Markdown, and avoid all issues in a future without inlined XML.
* tests: Dist missing layout test filesEmmanuele Bassi2017-08-081-2/+2
| | | | | We're disting only a subset of files with Autotools, but Meson expects everything we have in Git.
* Dist pango-features.h.mesonMichael Catanzaro2017-08-081-0/+1
|
* meson: Clean up things a bit on Visual StudioChun-wei Fan2017-08-081-19/+2
| | | | | | | | We can just force-include msvc_recommended_pragmas.h, which will silence the unwanted noise and point out to us potential problems in the code. https://bugzilla.gnome.org/show_bug.cgi?id=783274
* tests: Don't include unistd.h unconditionallyChun-wei Fan2017-08-083-3/+15
| | | | | | | Don't include unistd.h on Windows, and include io.h if necessary, as Windows compilers may not ship with it. https://bugzilla.gnome.org/show_bug.cgi?id=783274
* 1.40.81.40.8Matthias Clasen2017-08-073-2/+7
|
* Add some Emoji presentation sequencesMatthias Clasen2017-08-061-0/+1
| | | | I had some issue with these, so add an example here.
* Add more emoji sequencesBehdad Esfahbod2017-08-011-2/+6
|
* fix build with mesonAlberts Muktupāvels2017-08-011-0/+1
|
* Choose emoji font for color emojiBehdad Esfahbod2017-07-312-11/+50
| | | | Fixes https://bugzilla.gnome.org/show_bug.cgi?id=785566
* Add data files and routines for emoji itemizationBehdad Esfahbod2017-07-316-0/+786
| | | | | | Ported from Chromium. Not hooked yet.
* Update pango_default_break function for Sentence BoundaryPeng Wu2017-07-311-443/+305
| | | | | | | Re-write the code for Sentence Boundary, and use the code style like Grapheme Boundary and Word Boundary. https://bugzilla.gnome.org/show_bug.cgi?id=782813
* Update pango_default_break function for Word BoundaryPeng Wu2017-07-311-16/+59
| | | | | | | Improve Word Boundary Rule for Hebrew_Letter, Single_Quote, Double_Quote and Regional Indicator. https://bugzilla.gnome.org/show_bug.cgi?id=782813
* Update pango_default_break function for Emoji ZWJ sequencePeng Wu2017-07-311-1/+116
| | | | | | Support Grapheme Boundaries Rule GB10, GB11, GB12 and GB13. https://bugzilla.gnome.org/show_bug.cgi?id=782813
* Update GraphemeBreakTest.txt to Unicode 9.0.0Peng Wu2017-07-311-10/+498
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=782813
* Add some emoji break test casesMatthias Clasen2017-07-312-0/+20
| | | | These are the same testcases from the previous commit.