| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=786887
|
|
|
|
|
|
| |
Skip the space characters in sentence start/end.
https://bugzilla.gnome.org/show_bug.cgi?id=785978
|
|
|
|
|
| |
Let people know about the situation where one is able to build the
introspection files directly from within the Visual Studio projects.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
Behdad pointed out that I didn't get it right for
flags and for sequences ending in a skin tone modifier.
Fix that.
|
|
|
|
| |
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=786379
|
| |
|
|
|
|
|
|
|
|
| |
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".
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Messed up whitespace makes this unwieldy function
even harder to read.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
This is necessary to make some emoji sequences shape
and render correctly.
|
|
|
|
| |
Patch from Harioum Pratap Singh.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Changes from 1.40.8:
- Build and dist fixes
- Fix build on Windows with MSVC (#783274)
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
We're disting only a subset of files with Autotools, but Meson expects
everything we have in Git.
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
I had some issue with these, so add an example here.
|
| |
|
| |
|
|
|
|
| |
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=785566
|
|
|
|
|
|
| |
Ported from Chromium.
Not hooked yet.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Improve Word Boundary Rule for Hebrew_Letter, Single_Quote,
Double_Quote and Regional Indicator.
https://bugzilla.gnome.org/show_bug.cgi?id=782813
|
|
|
|
|
|
| |
Support Grapheme Boundaries Rule GB10, GB11, GB12 and GB13.
https://bugzilla.gnome.org/show_bug.cgi?id=782813
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=782813
|
|
|
|
| |
These are the same testcases from the previous commit.
|
|
|
|
|
|
|
| |
This reverts commit 77b56b4248816c5331ba344f19c45865c8bf2a32.
This file is a copy of a file in the ucd, we should not change
it. Lets add a new test instead.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=780669
|
|
|
|
|
|
|
|
|
|
|
| |
Checked several emoji sequences, the sequence pattern is
like follows:
1. Use zero width joiner to combine two characters with
any width
2. Ignore the width of variation selector, tag and emoji modifier
for the purposes of finding a run or uniform-width characters.
https://bugzilla.gnome.org/show_bug.cgi?id=780669
|
| |
|
|
|
|
|
|
| |
The keyword is called symbol_prefix, not symbols_prefix.
https://bugzilla.gnome.org/show_bug.cgi?id=785296
|
|
|
|
|
|
|
|
|
|
| |
FreeBSD libc assumes defining _POSIX_C_SOURCE without specifying a
version means a pre-C89 environment with the oldest version of POSIX
standard, IEEE Std 1003.1-1988, causing several functions used by pango
to be undeclared. To resolve this problem, simply provide a version
number when defining _POSIX_C_SOURCE.
https://bugzilla.gnome.org/show_bug.cgi?id=783428
|
|
|
|
|
|
|
| |
Arrays can never be NULL, and doing unnecessary checking causes
compilers to show warnings.
https://bugzilla.gnome.org/show_bug.cgi?id=783428
|
|
|
|
|
|
|
|
| |
It seems that it is possible for compilers to use unsigned interger
types to store enum values, so we should cast them to signed interger
types before doing calculation to avoid getting unexpected results.
https://bugzilla.gnome.org/show_bug.cgi?id=783428
|
| |
|
|
|
|
| |
Owen and I agreed that this doesn't look right.
|
|
|
|
|
|
|
|
|
|
|
| |
When calling into cairo to render glyphs, we want
to use show_text_glyphs and pass the text along,
if the surface supports that operation. But here,
we throw the text away prematurely and end up
always end passing no text or clusters down to
cairo.
https://bugzilla.gnome.org/show_bug.cgi?id=784394
|
|
|
|
| |
s/bytess/bytes/ in a warning.
|
|
|
|
| |
Missing inclusions of freetype via Cairo.
|
|
|
|
|
|
| |
Recently, freetype added checks for various options and forgot to check
all combinations. This breaks building projects including freetype.h
and using -Werror=undef.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First bug is, we were passing as count to th_brk, the UTF-8
length instead of TIS length. Ouch! I'm not sure how this
was never caught...
The other one was, break-thai was possibly marking a position
is_line_break when break.c has already set it to is_char_break=FALSE.
This broke the invariant that if a position is line-break, then it
must be char-break as well. This, in turn was hitting assertions
in certain conditions. Hit it with this for example:
$ ./pango-view --text 'ส์" (S' --width 43 --font 156px
Note that in a correct world the Latin part of that string should
not reach break-thai.c at all, but that's not how pango-layout.c
breaks right now. See comment before pango_break() call in
pango-layout.c.
|