[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/src xftfont.c
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] emacs/src xftfont.c |
Date: |
Sat, 12 Dec 2009 02:11:29 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Kenichi Handa <handa> 09/12/12 02:11:29
Modified files:
src : xftfont.c
Log message:
(struct xftfont_info): New member matrix.
(xftfont_open): Setup xftfont_info->matrix.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/xftfont.c?cvsroot=emacs&r1=1.31&r2=1.32
Patches:
Index: xftfont.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xftfont.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- xftfont.c 27 Nov 2009 17:27:06 -0000 1.31
+++ xftfont.c 12 Dec 2009 02:11:29 -0000 1.32
@@ -47,7 +47,7 @@
struct xftfont_info
{
struct font font;
- /* The following four members must be here in this order to be
+ /* The following five members must be here in this order to be
compatible with struct ftfont_info (in ftfont.c). */
#ifdef HAVE_LIBOTF
int maybe_otf; /* Flag to tell if this may be OTF or not. */
@@ -55,6 +55,7 @@
#endif /* HAVE_LIBOTF */
FT_Size ft_size;
int index;
+ FT_Matrix matrix;
Display *display;
int screen;
XftFont *xftfont;
@@ -254,6 +255,7 @@
int len, i;
XGlyphInfo extents;
FT_Face ft_face;
+ FcMatrix *matrix;
val = assq_no_quit (QCfont_entity, AREF (entity, FONT_EXTRA_INDEX));
if (! CONSP (val))
@@ -378,6 +380,16 @@
xftfont_info->display = display;
xftfont_info->screen = FRAME_X_SCREEN_NUMBER (f);
xftfont_info->xftfont = xftfont;
+ /* This means that there's no need of transformation. */
+ xftfont_info->matrix.xx = 0;
+ if (FcPatternGetMatrix (xftfont->pattern, FC_MATRIX, 0, &matrix)
+ == FcResultMatch)
+ {
+ xftfont_info->matrix.xx = 0x10000L * matrix->xx;
+ xftfont_info->matrix.yy = 0x10000L * matrix->yy;
+ xftfont_info->matrix.xy = 0x10000L * matrix->xy;
+ xftfont_info->matrix.yx = 0x10000L * matrix->yx;
+ }
font->pixel_size = size;
font->driver = &xftfont_driver;
if (INTEGERP (AREF (entity, FONT_SPACING_INDEX)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/src xftfont.c,
Kenichi Handa <=