Age | Commit message (Collapse) | Author | Files | Lines |
|
FMGetATSFontRefFromFont() is not public on Lion nor on 64-bits
Frameworks, but it seems to be available in the dynamic libs, hence we
can dlsym() it just like other private functions.
Works around the error:
cairo-quartz-font.c: In function 'cairo_quartz_font_face_create_for_atsu_font_id':
cairo-quartz-font.c:830: error: implicit declaration of function 'FMGetATSFontRefFromFont'
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=39493
|
|
In af9fbd176b145f042408ef5391eef2a51d7531f8 the show_glyphs hook has
been removed from cairo_scaled_backend_t, but quartz-font was not
updated.
Fixes:
cairo-quartz-font.c:798: warning: initialization from incompatible pointer type
|
|
cairo-image-surface-private.h is needed in order to access
cairo_image_surface_t fields.
Fixes multiple build errors: dereferencing pointer to incomplete type
|
|
The existing API only described the method to be used for performing
rasterisation and unlike other API provided no opportunity for the user
to give a hint as to how to trade off performance against speed. So in
order to no be overly prescriptive, we extend the NONE/GRAY/SUBPIXEL
methods with FAST/GOOD/BEST hints and leave the backend to decide how
best to achieve those goals.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
x_scale and y_scale are computed but never used.
|
|
fb0304e2a9c99fa00e68bf4b37074a6885f19cff changed and specified the
behavior of load_truetype_table.
This commit makes quartz-font implement the new behavior.
|
|
CFData is allocated and thus needs to be freed.
|
|
Improves the quality of embedded fonts.
|
|
A missing empty line caused the long description to be part of
@See_Also. Ooops.
|
|
I did this manually so I could review the docs at the same time.
If anyone finds typos or other mistakes I did, please complain to me (or
better: fix them).
|
|
glyph_path was taking into account the translation (which currently
is already applied in gstate) and the sign of the elements of the
matrices was not explained.
|
|
Remove an unused function, explicitly ignore or check return values,
don't define unused variables.
|
|
Silence Quartz complaints about operations on empty contexts:
<Error>: CGContextSetFont: invalid context 0x0
<Error>: CGContextSetFontSize: invalid context 0x0
<Error>: CGContextSetTextMatrix: invalid context 0x0
<Error>: CGContextSetAlpha: invalid context 0x0
<Error>: CGContextShowGlyphsAtPoint: invalid context 0x0
|
|
A8 surfaces are now kAlphaOnly surfaces in quartz-font too.
Subpixel font smoothing can be enabled.
|
|
glyphs in Al Bayan font
This resolves the problem by checking for the crazy glyph bbox result from
CoreGraphics, and replacing it with an empty rect.
From https://bugzilla.mozilla.org/show_bug.cgi?id=534260
|
|
Corporation"
From https://bugzilla.mozilla.org/show_bug.cgi?id=507387
|
|
I updated the Free Software Foundation address using the following script.
for i in $(git grep Temple | cut -d: -f1 )
do
sed -e 's/59 Temple Place[, -]* Suite 330, Boston, MA *02111-1307[, ]* USA/51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA/' -i "$i"
done
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21356
|
|
A pending commit will want to include some utility code from cairo and
so we need to extricate the error handling from the PLT symbol hiding.
|
|
As the associated is now explicitly the font-face used to create the font
by the user, whereas what we require is the current implementation
(quartz) font.
|
|
OS X doesn't support ATSUI in 64 bit so don't include the cairo ATSUI
API in that case.
|
|
Fixes a memory leak should we bail due to the version of Quartz being
insufficient.
Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19209.
|
|
Removes the NULL so that _cairo_quartz_font_face_scaled_font_create
is in the correct location.
|
|
Declares _cairo_quartz_scaled_font_backend ahead of time and makes it static.
Also, removes the 'static' from the _cairo_quartz_font_backend definition.
|
|
This commit moves the toy-to-real mapping from the scaled font creation
time to font face creation. A toy font face will keep an internal ref
to an implementation face. Then cairo_scaled_font_create() will simply
substitute the implementation face before creating anything.
This also modifies the cairo-ft toy creation in that we now create a
non-resolved pattern and store it in a cairo-ft font-face. We then
do the resolving and unscaled font creation at scaled-font creation
time. This also means that cairo_ft_font_face_create_for_pattern()
now accepts non-resolved patterns too, and does the right thing about
them. As much as that can be called right.
Some testing of toy font creation performance is in order, as is testing
win32 and quartz font backends.
|
|
Quartz fonts and user fonts use an indirect font face when creating a
scaled font for the toy font face. This means that they insert a scaled
font into the font map that has a different font face to the one that is
initially searched upon. The result is that when we try to create an
identical scaled font, we fail to find the existing scaled font and
attempt to insert a duplicate into the hash table - which triggers an
assert.
In order to avoid creating duplicate fonts, we add a new method to the
font backends that allows cairo_scaled_font_create() to peek at the
font_face that will be used to actually implement the scaled font
constructor - thus we are able to use the correct font_face as part of the
hash key.
|
|
_cairo_matrix_compute_basis_scale_factors
|
|
Seems to happen on 10.4 only for unknown reasons. Protect against a crash at least.
|
|
|
|
|
|
The toy font constructor and the _with_atsu_font_id constructor were
not properly managing the refcount of the CGFontRef.
|
|
|
|
|
|
Forgetting to include cairoint.h (or not including it first) can
cause some subtle bugs due to specific feature flags not being
set, etc.
|
|
|
|
|
|
|
|
Create a new font backend that uses the CGFont API on MacOS X
10.4 and beyond.
|
|
|