| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Commit ce097c062ea079bf7888d2b2f1f7b17d34f976b6 was a bit too eager to
mark symbols as public, and marked some internal functions as exported.
If a symbol has an underscore prefix it generally means it's not meant
to be public.
|
|
|
|
|
|
|
|
|
| |
Sub-libraries need to be built after pango-enum-types.h has been
generated; we already have a transitive dependency on the header
through libpango_dep, so we do not need to add the header to the
list of sources.
This avoids symbols leaking in the sub-libraries.
|
|
|
|
|
| |
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=781123
Patch from Takao Fujiwara.
|
|
|
|
|
| |
"soversion:" is for the version placed in the soname. The full library
revision goes into "version:". This affects the symlinks, too.
|
|
|
|
| |
This was an inconsistent mix of tabs and spaces.
|
|
|
|
|
|
| |
The Pango pkg-config files are generated depending on the platform we
are building for, and backends we are using. Only the `pango.pc` file is
generated unconditionally.
|
|
|
|
|
| |
We need to use the `@...@` pattern so that Meson can replace the
symbols.
|
|
|
|
| |
Meson adds it by itself, where appropriate.
|
|
|
|
|
| |
This way, we can use Meson to build a release tarball generated by
Autotools.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Meson is a meta build system that is:
- fast
- simpler to understand and use
- portable to multiple platforms through different backends
- well integrated with the GNOME platform
- well maintained
Using Meson allows us to build Pango much more quickly, and on all the
platforms we currently target, without any loss of functionality,
compared to Autotools.
Some timing comparisons with hot ccache for both build systems:
* autogen.sh: * meson
real 0m11.149s real 0m2.525s
user 0m8.153s user 0m1.609s
sys 0m2.363s sys 0m1.206s
* make -j$(($(nproc) + 2)) * ninja
real 0m9.186s real 0m3.387s
user 0m16.295s user 0m6.887s
sys 0m5.337s sys 0m1.318s
--------------------------------------------------------------
* autotools * meson + ninja
real 0m27.669s real 0m5.772s
user 0m45.622s user 0m8.465s
sys 0m10.698s sys 0m2.357s
System: Intel Core i7-7500U, SSD, 16GB of RAM
|
|
|
|
|
|
| |
While `.C` is a valid GCC extension for C++ files, it only works for
case sensitive file systems. Let's use `.cpp`, like the rest of the
planet does.
|
|
|
|
|
| |
No other library in the stack ships them any more, and they are of
dubious use.
|
|
|
|
|
| |
The log of each change is in Git, as it should be. For dist tarballs we
only care about the changes since the beginning of the last cycle.
|
|
|
|
| |
Avoid a compiler warning for potentially uninitialized variables.
|
| |
|
|
|
|
|
|
|
|
| |
It's used in pango-markup.c and pango-color.c, so it should have an
internally-available prototype, instead of an `extern` declaration at
the point of use.
This also avoids a compiler warning for a missing prototype.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First of all, we need to define `PANGO_UNAVAILABLE`, as it's missing a
definition, and the only reason why nobody caught this is because we're
building without -Wundef, and clearly nobody attempted using
min-required/max-allowed with Pango.
Additionally, we really need a way to disable deprecation warnings from
the compiler.
The complete implementation of the version macros for GLib-based
libraries includes both items above.
|
|
|
|
|
|
|
|
|
| |
Some files that this script will process might have UTF-8 items in
there, which can cause problems on Python 3.x as it is more strict and
careful on unicode issues. Fix this by:
-Doing what we did before on Python 2.x
-Opening the file with encoding='utf-8' on Python 3.x
|