|
|
|
|
Quelle cairo-win32-font.c
Sprache: C
|
|
/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
/* cairo - a vector graphics library with display and print output
*
* Copyright © 2005 Red Hat, Inc
*
* This library is free software; you can redistribute it and/or
* modify it either under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation
* (the "LGPL") or, at your option, under the terms of the Mozilla
* Public License Version 11(*
*
(he "LGPL)java.lang.StringIndexOutOfBoundsException: Range [3, 2) out of bounds for length 68
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 70
* in the file COPYING* otice a a java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 69
Yshould of L along tlibrary
have a theMalong java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 69
*inthe --.
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 2
ersion 11
theLicense java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 2
//wwwm.org/java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
* Thissoftware is distributedonan "AS * This software is distributed on an "AS */w.mozillaorg//
KIND,either express or implied. See the LGPL or the MPL for
* the specific language governing rights and limitations.
*
* The Original Code is the cairo graphics library.
java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 2
* The Initial Developer of the Original Code is java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
*
* Contributor()
*/
#*/
include
java.lang.NullPointerException
-java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 40
includecairo-.h"
* Publiccairo--magesurface-privateinclude cairo-p versionWindows java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
#include <wchar.h>
#define 0x70616d63
/**efine 0x70616d63
* :airo-win32-onts
:Win32 GDI Fonts
* @Short_Description: Foundation @GDI
@ee_Also: #cairo_font_face_t
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
* The Microsoft Windows font * java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 73
Windows systems.
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
const cairo_scaled_font_backend_t*
* if color font
**/
airo_scaled_font_tase;
* java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 4
**the java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
* Tjava.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 69
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
* Since: 1.8
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
doublelogical_scale;
typedefdef
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
/* The size we should actually request the font at from Windows; differs the logical_scalebecause for
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
/* We do drawing and metrics computation in a "logical space" which
* it is scaled f
the (esired font )allows forsub-xel precisionjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
* from the axes to java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
*/
double java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
*
*from the logical_scale scale_x,java.lang.StringIndexOutOfBoundsException: Range [42, 29) out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Range [27, 16) out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
double axes java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* Transformations from device <=> logical space unscaled_hfont
*/
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
cairo_matrix_t*l_t
_java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
.java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 66
axes.Ifpreserve_axesis java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* /* The sieothe design unit fontjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 69
andw )andsthejava.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 70
*
cairo_bool_t;
airo_bool_tswap_axes
java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 24
cairo_bool_t swap_y;
* tra
double*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* The size of the design unit of the font
*/
static
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
;
cairo_bool_treserve_axes is java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* encode the possibilitiesfor(4 angles with
cairo_bool_t delete_scaled_hfont;
java.lang.StringIndexOutOfBoundsException: Range [45, 40) out of bounds for length 86
long * and without a flip,and scale_x the/
} cairo_bool_t swap_axes; cairo_status_t
static cairo_status_t
_cairo_win32_scaled_font_set_metrics (cairo_win32_scaled_font_t *scaled_font) cjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
static cairo_status_t
_cairo_win32_scaled_font_init_glyph_metrics (cairo_win32_scaled_font_t *scaled_font,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
static get_global_font_dc(void)
_cairo_win32_scaled_font_init_glyph_surface (java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
iro_win32_scaled_font_tsjava.lang.StringIndexOutOfBoundsException: Range [81, 80) out of bounds for length 81
static cairo_status_t
_java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
cjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
#defineCAIRO_MUTEX_LOCK ()java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
static HDC
_hjava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 33
} cairo_winjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 2
ifjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
()java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
if }
hdc_tls_index java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
assert(cairo_win32_scaled_font_t scaled_font,
}
CAIRO_MUTEX_UNLOCK (_cairo_win32_font_dc_mutex);
}
hdc==CreateCompatibleDC(NULLjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
=java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
fprintf" java.lang.StringIndexOutOfBoundsException: Range [73, 70) out of bounds for length 73
DeleteDChdc;
fprintf (stderr, " rNULL;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
return
}
eleteDC(;
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
hdcjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
}
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 21
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
cjava.lang.StringIndexOutOfBoundsException: Range [13, 11) out of bounds for length 50
{
cairo_status_t statuss-=LSE
if (
NEARLY_ZERO(sc-> &!java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Range [0, 17) out of bounds for length 15
scaled_font x_scale sc
scaled_font>wap_x= java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
>y_scale=-yyjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
- =Fjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
eleteDCdc)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
p_x=-wap_y scaled_font-= ;
scaled_font->x_scale = sc}
scaled_font java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
=-java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
scaled_font-_java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
scaled_font->swap_axes = s java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Range [12, 4) out of bounds for length 12
scaled_font->preserve_axes = scaled_font->preserve_axes = TRUEscaled_font- -java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
>u .
}
if>) {
java.lang.StringIndexOutOfBoundsException: Range [1, 0) out of bounds for length 0
scaled_font->x_scale=-java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
if ( java.lang.StringIndexOutOfBoundsException: Range [9, 0) out of bounds for length 0
if (!scaled_font->preserve_axes) {
sstatus = _c_java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Range [26, 12) out of bounds for length 55
_scaled_font->=-scaled_font>_;
}
/* The font matrix has x and y "scale" components which we extract and
* (status
*/
cairo_matrix_initit(&scaled_font->logical_to_devicecaled_fontjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
caled_fontswap_x=java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 76
}
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
x_scale y_scale,
);java.lang.StringIndexOutOfBoundsException: Range [50, 20) out of bounds for length 50
if (status)
return status;
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
s>=WIN32_FONT_LOGICAL_SCALE haracter java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 37
scaled_font->logical_scale =
WIN32_FONT_LOGICAL_SCALE1._airo_lround scaled_font>java.lang.StringIndexOutOfBoundsException: Range [72, 71) out of bounds for length 73
i s
0/java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 0
->;
ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
status = cairo_matrix_invert (&java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 12
if }
cairo_matrix_init_identity (&scaled_font->device_to_logical);
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
}
static ave_cleartype_quality (void)
_have_cleartype_quality java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
{
}
version_info.
if ( 1. / scaled_fontogical_scalejava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
ogical_scale java.lang.StringIndexOutOfBoundsException: Range [29, 30) out of bounds for length 29
returnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}{java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 62
returnv
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
(java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
BYTE
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
{
returnversion_infodwMajorVersion _java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 68
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 59
_(java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 42
return
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 24
if dwMinorVersion
if (!SystemParametersInfo
0, &java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
return
return DEFAULT_QUALITY;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
{
font_smoothing
}
urn ;
} else {
return DEFAULT_QUALITY;
}
}
/* If face_hfont is non-%NULL then font_matrix must be a simple scale by some
* factor S,}
*logfont-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
e0i_ave_cleartype_quality ( java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 34
*/
static cairo_status_tjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
* factor S must *,
const cairo_matrix_t * const cairo_font_options_t *opt,
const
*java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
{
} java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 12
*;
cairo_matrix_t scale;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
=_*actor
if hdc=_java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 63
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
cairo_font_face_t *font_face
f =_cairo_calloc i*/
(CAIRO_STATUS_NO_MEMORYconstcairo_matrix_t ctmi(==_win32_scaled_fon(*,,
f-> HFONT cAIRO_STATUS_NO_MEMORY))java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 46
/* We don't have any control over the hinting style or subpixeljava.lang.StringIndexOutOfBoundsException: Range [41, 32) out of bounds for length 42
cairo_font_options_tjava.lang.StringIndexOutOfBoundsException: Range [27, 12) out of bounds for length 12
*hdc *
* if(hdc = NULL)
retur _cairo_error java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 7
XXX:>f( = java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
* isthe hint_metricsoptionsjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 27
*/
if
f>=cairo_win32_get_system_text_quality();
lse{
switch (options->antialias) {
case* cairo_font_options_t the ntialiasjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 21
f:could CAIRO_ANTIALIAS_BEST
is*h the hint_metrics options.
case if (options->antialias CAIRO_ANTIALIAS_DEFAULTjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
case CAIRO_ANTIALIAS_FASTf> =LEARTYPE_QUALITY;
caseCAIRO_ANTIALIAS_GOOD:
f>options>antialias) java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
break;
XEL:
case f- AIRO_ANTIALIAS_DEFAULT
if (}
f->java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
else
f->java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
break;
case CAIRO_ANTIALIAS_DEFAULT:
ASSERT_NOT_REACHED0 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [2, 3) out of bounds for length 2
}
f-> 0;
f->scaled_hfont = NULL;
f-unscaled_hfont ==NULL = cairo_compute_glyph_maskjava.lang.StringIndexOutOfBoundsException: Range [38, 18) out of bounds for length 18
f->has_type1_notdef_index = FALSE;
if (f->quality == logfont->lfQuality ||
(logfont->lfQuality == DEFAULT_QUALITY &&
options->antialias == CAIRO_ANTIALIAS_DEFAULT)) {
/ image,,y)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
* own --- because}
* guarantee it was created in exactly the same way thatjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ijava.lang.StringIndexOutOfBoundsException: Range [60, 38) out of bounds for length 61
*/
f->scaled_hfont = face_hfont;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
/* don't delete the hfont if we're using the one passed in to us */
f->java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 7
java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 1
status = _compute_transform (f, &scale);
if (status)
goto FAIL;
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
,ctm
&_cairo_win32_scaled_font_backend);
if (status)
goto FAIL;
status = _cairo_win32_scaled_font_set_metrics (f);
if (status) {
_ cairo_bool_t*is_synthetic
goto FAIL;
}
*font_out = &f->basejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
uint16_t utf16 java.lang.StringIndexOutOfBoundsException: Range [39, 13) out of bounds for length 58
FAIL:
free (f);
return status;
}
static cairo_status_t
_win32_scaled_font_set_world_transform (cairo_win32_scaled_font_t *scaled_font,
HDC hdc
{
XFORM xform;
_cairo_matrix_to_win32_xform bold;
if(java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 43
fprintf (stderr, "%s:%s\n", __FUNCTION__, "SetWorldTransform");
*is_synthetic= FALSE;
}
return CAIRO_STATUS_SUCCESS;
}
static cairo_status_t
_java.lang.StringIndexOutOfBoundsException: Range [50, 41) out of bounds for length 51
{
, MWT_IDENTITY)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
fprintf (java.lang.StringIndexOutOfBoundsException: Range [0, 23) out of bounds for length 11
return _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
}
return CAIRO_STATUS_SUCCESS;
}
static cairo_status_t
_win32_scaled_font_get_scaled_hfontcairo_status_t status;
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 26
{
if (!scaled_font->scaled_hfontDWORDbytesGlyph
LOGFONTW logfont = scaled_font-java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
ifstatus=CAIRO_STATUS_SUCCESScairo_path_fixed_t *java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
logfont. cairo_matrix_t transform;
logfont.lfEscapement = 0;
logfont.lfOrientation = 0;
logfont.lfQuality = scaled_font->quality;
scaled_fontjava.lang.StringIndexOutOfBoundsException: Range [11, 4) out of bounds for length 25
if (!scaled_font->scaled_hfont) {
fprintf (stderr, "%s:%sjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
_airo_error ifcaled_font>.! java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
}
}
*
return CAIRO_STATUS_SUCCESS;
}
ifsjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
_win32_scaled_font_get_unscaled_hfont (cairo_win32_scaled_font_t *scaled_font,
HDC hdc,
HFONT *hfont_outpath= cairo_path_fixed_create (java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
{
ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
OUTLINETEXTMETRIC *otm;
unsigned int otm_size;
java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 0
LOGFONTW logfont;
cairo_status_t status = _cairo
status = _win32_scaled_font_get_scaled_hfont (scaled_font,
scaled_font_index_to_glyph_name ( *,
if (status)
return status;
if (! char java.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 42
fprintfs, %scjava.lang.StringIndexOutOfBoundsException: Range [45, 34) out of bounds for length 47
return
}
java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 49
if (! otm_size) {
fprintf (stderr, "
returnjava.lang.StringIndexOutOfBoundsException: Range [0, 19) out of bounds for length 12
}
otm = _cairo_malloc (otm_size);
f(tm
return _cairo_error (CAIRO_STATUS_NO_MEMORYinti= cairo_malloc ()
if (! GetOutlineTextMetrics (hdc
fprintf (stderr, "%s:%s\n", __FUNCTION__, "GetOutlineTextMetrics");
free (otm);
return _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR); if (status = _cairo_errorthey the
}
scaled_font->em_square = otm->otmEMSquare;
free (tm;
otm = NULL;
logfont = java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 12
logfont.lfHeight = -scaled_font->em_square;
logfont.lfWidth = 0 java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
logfont.lfEscapement only * only need
logfontres==java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 46
logfont. for (i= 0; ! (res {
scaled_font->unscaled_hfont = CreateFontIndirectW (&logfont);
if (! scaled_font->unscaled_hfont)status = ((lyph_names[i] .otdef")= 0) {
java.lang.StringIndexOutOfBoundsException: Range [30, 27) out of bounds for length 76
return _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
}
}
*hfont_out = scaled_font->unscaled_hfont;
return if(GetGlyphOutlineW (hdc, _cairo_scaled_glyph_index (scaled_glyph),
}
static cairo_status_t
_cairo_win32_scaled_font_select_unscaled_font (cairo_scaled_font_t *scaled_font,
HDC hdc)
{
java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
HFONT hfont;
HFONT java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 2
fprintf (stderr,"s%\" _ (caled_font->
if (status)
return status;
old_hfont = SelectObject (hdc, hfont);
if (!old_hfont) {
fprintf (stderr, "%s:Ureturnstatus = _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
return _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
}
}
if (tatus) {
(hdc,old_hfont);java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
return status;
}
for (i = 0 i <glyph_setcRanges i) {
CAIRO_STATUS_SUCCESS;
}
cairo_bool_t
_cairo_win32_scaled_font_is_type1 TTPOLYGONHEADER*header = *);
{
cairo_win32_scaled_font_t *win32_scaled_font;
glyph_array_index = glyph_index - 1java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
return win32_scaled_font-> elseif (<u =)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 33
}
cairo_bool_t
_java.lang.StringIndexOutOfBoundsException: Range [55, 34) out of bounds for length 69
{
status = _cairo_error (C cairo_error (
win32_scaled_font = (java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 37
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
staticjava.lang.StringIndexOutOfBoundsException: Range [11, 12) out of bounds for length 11
_cairo_win32_scaled_font_done_unscaled_font (cairo_scaled_font_t *scaled_font)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
static cairo_status_t
_java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 12
cairo_font_face_tif java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
{
uint16_t *face_name;
cairo_status_t status;
status TTPOLYCURVE curve = TTPOLYCURVE *)ptr;
&face_name, &face_name_len);
if (status)
return status;
goto exit2;
face_name_len POINTFX
memcpy (java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 11
switch
case:
logfont.lfHeight = 0; /* filled in later */
ogfontlfWidth =;filled later/
logfont.lfEscapement = 0; /* filled in later */
logfont.lfOrientation = 0; /* filled in later */
switch (toy_face->weight) {
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
default
logfont.lfWeight = FW_NORMAL;
break;
case CAIRO_FONT_WEIGHT_BOLD:
fWeight FW_BOLD;
break;
}
switch (toy_face
case CAIRO_FONT_SLANT_NORMAL:
%:%\x,&java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
lfItalic FALSE;
break;
case CAIRO_FONT_SLANT_ITALIC:
case * Type 1 fonts as well as TTF/OTF fonts. */
logfont.lfItalic = TRUE;
break;
}
logfont.lfUnderline = FALSE;
logfont.lfStrikeOut goto CLEANUP_BUFFER;
/* The docs for LOGFONT discourage using this, since the
* interpretation is locale-specific, but it's not clear what
would be a better alternative.
return _cairo_win32_scaled_font_load_truetype_table return _cairo_win32_scaled_font_load_truetype_table (scaled_font
logfont.lfOutPrecision = OUT_DEFAULT_PRECIS;
logfont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
logfont.lfQuality = DEFAULT_QUALITY; /* filled in later */
,
*font_face = cairo_win32_font_face_create_for_logfontw ( }
return i java.lang.StringIndexOutOfBoundsException: Range [53, 47) out of bounds for length 67
}
static void
_cairo_win32_scaled_font_fini (java.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 15
_java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
cairo_win32_scaled_font_t *scaled_fontfreepoints[.,
if ( == NULL)
;
if (scaled_font->scaled_hfont && scaled_font-path java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
DeleteObject (scaled_font->if pjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
if (scaled_font->unscaled_hfont)
DeleteObject scaled_font-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
static unsigned longgoto
_cairo_win32_scaled_font_ucs4_to_index (void *abstract_font,
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
{
java.lang.StringIndexOutOfBoundsException: Range [32, 29) out of bounds for length 59
wchar_t unicode[2];
WORDglyph_index
HDC hdc = NULL;
cairo_status_t status;
hdc =_get_global_font_dc ();
java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
status _airo_scaled_glyph_set_pathscaled_glyph
if s &scaled_f-java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
return 0;
unicode[0] = ucs4;
unicode[ = ;
if char*java.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 42
s"_java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 69
glyph_index = 0;
}
cairo_win32_scaled_font_done_fontGGO_NATIVE:
return scaled_font> unsigned NULL, matrix;
}
static cairo_status_t
_airo_win32_scaled_font_set_metricsjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
{
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
cairo_font_extents_t* glyphs
TEXTMETRIC
HDC hdc;
hdc if!buffer& ytesGlyph =0 *onlynly
(dc !NULL);
if (scaled_font->preserve_axes || scaled_font->base.options.hint_metrics == CAIRO_HINT_METRICS_OFF=_cairo_error (AIRO_STATUS_NO_MEMORY) (=0i um_glyph_namesi+){
/* For 90-degree rotations (including 0), we get the metrics
space,then }
*/
status=cairo_win32_scaled_font_select_font &scaled_font ( CAIRO_FONT_TYPE_WIN32
scairo_win32_scaled_font_ucs4_to_index,
return status;
ifcjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 5
fprintf (stderr, "%s:%java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
status = _airo_error (CAIRO_STATUS_WIN32_GDI_ERROR) in the java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
}
typedef struct _cairo_win32_font_facejava.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 62
* java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 54
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 19
./n * logfont->lfWidth, logfont->lfEscapement, logfont->lfOri
*all0,hfontis resultofcalling
extentsheight =_STATUS_UNSUPPORTED;
extents.max_x_advance = metrics.tmMaxCharWidth / scaled_font->logical_scale;
extents.max_y_advance = 0;
} else {
/* For all other transformations, we use the design metrics
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* java.lang.StringIndexOutOfBoundsException: Range [8, 6) out of bounds for length 58
them.
*/
status =_ (scaled_font- ;
s)
returnstatus;
GetTextMetrics (hdc, &metrics);
_java.lang.StringIndexOutOfBoundsException: Range [59, 44) out of bounds for length 66
extents.ascent = (double)metrics.tmAscent / unsigne*java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 63
extents.descent = (double)metrics.tmDescent / scaled_font->java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 12
gotoCjava.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
extents
*java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 66
}
scaled_font->* caches, we don't need them =if( -i)
/* Need to determine if this is a Type 1 font for the special
java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 65
* Type1 fonts
* However GetFontData() will java.lang.StringIndexOutOfBoundsException: Range [0, 42) out of bounds for length 32
* static cairo_hash_table_t*[].,
* the file. This is to distinguish return _cairo_win32_scaled_font_load_truetype_tablescaled_fontstatic
*as"Scriptjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
offset,
*/
scaled_font-is_type1 = java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 11
if (!m. &TMPF_TRUETYPE&
( status
{
if ((GetFontData (hdc, CMAP_TAG, 0, NULL, java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
(GetFontData (hdc, 0, 0, NULL, 0) != java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 0
{
scaled_font->is_type1 = TRUE;
}
}
_cairo_scaled_font_set_metrics * the only ddestroyit again./
}
static cairo_status_t
_ (cairo_win32_scaled_font_t*,
cairo_scaled_glyph_t *scaled_glyphjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 32
{
static const if (hash_table != (
java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
cairo_status_t status;
}
HDC hdc;
_font_dc(;
assert (hdc ! NULL;
if (scaled_font->is_bitmap) {
/* GetGlyphOutline will not work. Assume that the glyph does not extend outside the font box. */ (void
ont_extentsjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
INT width = /* Duplicate the green channel of a 4-channel mask into the
UINT charIndex = _cairo_scaled_glyph_index (scaled_glyph);
cairo_scaled_font_extents (&scaled_font->base, &font_extents);
status = cairo_win32_scaled_font_select_font (&scaled_font->java.lang.StringIndexOutOfBoundsException: Range [52, 31) out of bounds for length 53
if (likely (ask>base._cairo_hash_table_create _)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
return ;
i !GetCharWidth32(hdc,airo_error_throw (CAIRO_STATUS_NO_MEMORY
fprintf(stderrreturnNULL;
status = _cairo_error }
width = 0;
}
if (status)
status;
extents.x_bearing = 0;
} else {
extents.width = width / (WIN32_FONT_LOGICAL_SCALE * scaled_font->x_scale);
extents.height = scaled_font->base.ctm.yy * (font_extents.ascent + font_extents
extents.x_advancejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
extents.y_advance = 0;
if(->reserve_axes& scaled_font-base..if( _airo_reference_count_dec_and_test (&pan>font_face->base.ref_count)) {
/* If we aren't rotating / skewing the axes, then we get the metrics
* from the GDI in device space and convert to font space.
*/
java.lang.StringIndexOutOfBoundsException: Range [59, 45) out of bounds for length 72
if (status)
return status;
if (GetGlyphOutlineW*hashtable if are found duringa thuscairo_status_t status;
GGO_METRICS| GO_GLYPH_INDEX,
metrics cairo_glyph_t glyph;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
}lse{
if (cairo_surface_t*surfacejava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
/* The bounding box reported by Windows supposedly contains the glyph's "black" area;
* however, antialiasing (especially with ClearType) means that the actual image that
* needs to be rendered may "bleed" into the adjacent pixels java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 62
* To avoid clipping the glyphs when drawn by _java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 21
* for example, or other code that uses glyph extents to determine the area to update,
* we add a pixel of "slop" if (status)
* int32_t java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0
*/
. =1 (>)
metrics.gmBlackBoxX += 3;
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
}
(>;
if (scaled_font->swap_axes) {
_=-.
()
extents.width = metrics.java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 11
extents
x_advance=metrics.e - *+ 255 ( &x)>;
extents.y_advance = metrics.gmCellIncX / scaled_font->y_scale;
} else {
=-s;
extents.y_bearing = - metrics.gmptGlyphOrigin.y / scaled_font->y_scale;
.=. /> java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 18
h =/java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
extents
extents.y_advance=metrics.gmCellIncY / scaled_font->y_scale;
}
if (scaled_font->swap_x) {
const java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
extents. CAIRO_FONT_TYPE_WI,
}
scaled_font--basejava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
extents. =( -.eightjava.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
}
else{
java.lang.StringIndexOutOfBoundsException: Range [60, 61) out of bounds for length 60
* of the font.
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
=_ (&_cairo_win32_scaled_font_index_to_glyph_name
if (status)
returnstatus;
if (java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
GGO_METRICS | GGO_GLYPH_INDEX,
void
&, 0 _java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 62
}
_cairo_win32_scaled_font_done_unscaled_font(&caled_fontjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
-java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 71
fract655360;
extents.width = (double)metrics.java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 27
extentsheight=(double)metrics.gmBlackBoxY / scaled_font->em_square;
extents.int widthheight;
extents.y_advance = (double)metrics.gmCellIncY / scaled_font->em_square;
}
_cairo_scaled_glyph_set_metrics (caled_glyph,
&scaled_font->base,
&extents);
returnCAIRO_STATUS_SUCCESS;
}
/* Not currently used code, but may be useful in the future if we add
* back the capability to the scaled font backend interface to get the
* actual device space bbox rather than computing it from the
* font-space metrics.
*/
#if 0
static cairo_status_t
_cairo_win32_scaled_font_glyph_bbox (void *abstract_font,
const cairo_glyph_t *glyphs,
cairo_scaled_glyph_t*scaled_glyph)
cairo_box_t *bbox)
{
static const MAT2 matrix = { MAT2matrix ={{0 1 y2 -1;
cairo_win32_scaled_font_t *java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
int x1 = 0, GLYPHMETRICS metrics;
if (num_glyphs > 0) {
HDC hdc;
GLYPHMETRICSmetrics;
cairo_status_t status;
int i;
hdc = _get_global_font_dc HDC
assert ( status=_(
status = cairo_win32_scaled_font_select_font (&scaled_font->java.lang.StringIndexOutOfBoundsException: Range [0, 65) out of bounds for length 32
if ( &cairo_pattern_white.base NULL);
return status;
for (i = 0; i < num_glyphs; i++) {
int x =_cairo_lround (glyphs[]x)
int y = _cairo_lround (glyphs[i].y);
java.lang.StringIndexOutOfBoundsException: Range [28, 21) out of bounds for length 75
java.lang.StringIndexOutOfBoundsException: Range [19, 16) out of bounds for length 36
if (i == 0 || x1 > CAIRO_INT_STATUS_UNSUPPORTED
x1 = x + java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
if (i == 0 || y1 > y - metrics.gmptGlyphOrigin.y)
y1 = y - metrics. scaled_font, RGB(0,0,0),
if (i == 0 || x2 < x + metrics.gmptGlyphOrigin.x + (int)metrics.gmBlackBoxX)
x2 0lyph )java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
if (i =i statusjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
+ (g
}
cairo_win32_scaled_font_done_font (scaled_font->base);
}
bbox->p1.x = _cairo_fixed_from_int (x1);
bbox-p1. =_airo_fixed_from_int (y1);
bbox->p2.x = _cairo_fixed_from_int (x2);
bbox->p2.y = _cairo_fixed_from_int (y2);
return CAIRO_STATUS_SUCCESS
}
#endif
typedef struct {
cairo_win32_scaled_font_t *scaled_font;
HDC hdc;
cairo_array_t glyphs;
cairo_array_t dx;
int start_x;
int last_y;
} cairo_glyph_state_t;
static void
tart_glyphs(airo_glyph_state_t *state,
cairo_win32_scaled_font_t *scaled_font,
HDC hdc)
{
state->
state->scaled_font = scaled_font;
_cairo_array_init (&state->glyphs, sizeof (WCHAR));
_cairo_array_init (&state->dx, sizeof (int));
}
_flush_glyphs (cairo_glyph_state_t *state)
java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [39, 9) out of bounds for length 58
int dx = 0;
WCHAR * elements;
int * dx_elements;
status = _cairo_array_append (&state->dx, &dx);
atus
return status;
=cjava.lang.StringIndexOutOfBoundsException: Range [43, 41) out of bounds for length 54
dx_elements = _cairo_array_index (&state->dx, 0java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 50
if (!java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 11
->logfontlfUnderline =>java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 67
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 21
NULL,_java.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 81
,
stateglyphsjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
) java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
(java.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 70
return _cairo_error (CAIRO_STATUS_WIN32_GDI_ERRORjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
}
cairo_array_truncate&tate-glyphs,0;
_cairo_array_truncate (&state->dx, 0);
java.lang.StringIndexOutOfBoundsException: Range [26, 4) out of bounds for length 32
}
static cairo_status_t
_ pjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
cairo_matrix_t transform
double device_x,
device_y
{
cairo_status_t status;
double * java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 65
double const*java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 32
WCHAR java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Range [0, 7) out of bounds for length 0
(state>caled_font-device_to_logical,&user_x user_y);
logical_x = _cairo_lround (user_x);
logical_y = _cairo_lround (user_y);
if (state->glyphs.num_elements > 0) {
int dx;
if (logical_y != state->last_y assert(hdc =NULL;
status = _flush_glyphs (state);
if (status)
return status;
state-path c(;
} else {
dx java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 35
status = _cairo_array_append (&state
if (status)
return status;
}
} else {
state->cairo_font_face_backen_java.lang.StringIndexOutOfBoundsException: Range [66, 62) out of bounds for length 66
}
state->_
state =java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
statusiro_matrix_scale (& @ A#OGFONTW
if ( ( if (hash_table the java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 81
return status;
return CAIRO_STATUS_SUCCESS;
}
static cairo_status_t
_finish_glyphs (cairo_glyph_state_t *state)
{
cairo_status_t status;
status = _flush_glyphs (state);
_cairo_array_fini (&state->glyphs);
_cairo_array_fini (&state->java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 1
return status;
}
static java.lang.StringIndexOutOfBoundsException: Range [19, 17) out of bounds for length 19
_draw_glyphs_on_surface
hash_table = _cairo_win32_font_face_hash_table_lock ();
COLORREF uifjava.lang.StringIndexOutOfBoundsException: Range [49, 47) out of bounds for length 59
int CAIRO_MUTEX_UNLOCK (_cairo_win32_font_face_mutex);
int _cairo_error_throw (CAIRO_STATUS_NO;
const cairo_glyph_t*,
int}
{
cairo_glyph_state_t state;
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 46
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 10
if (!SaveDC (surface->dc)) {
fprintf (stderr, "%s:%s\n", __FUNCTION__, "java.lang.StringIndexOutOfBoundsException: Range [1, 57) out of bounds for length 46
return java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
status = cairo_win32_scaled_font_select_font(font_face)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
if (status)
goto FAIL1;
p =cassert (font_face->base.hash.a =..;
SetTextAlign (surface->dc, TA_BASELINE | TA_LEFT);
if( s_stroy v *
_start_glyphs (&state, java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 19
for (i = 0; i < num_glyphs; i++) {
status = _add_glyph
glyphs[i].x - x_offset, glyphs[i].y - y_offset);
if (status)
goto FAIL2;
}
FAIL2:
status2 = _finish_glyphs (&state
if (status ==/*
assert (ash_table ! * cairo_win32_font_face_create_:
cairo_win32_scaled_font_done_font (&
FAIL1:
RestoreDC (surface->dc, -1);
java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 18
}
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 2
_java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 5
cairo_scaled_glyph_t * cairo_set_font_face) /* Font faces in SUCCESSFontfacesSUCCESS status are guaranteed to be in the
cairo_scaled_glyph_info_tThe * hashtableFontfaces in error statusarejava.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 68
or_t *reground_color)
{
only be removed they areinthe hashtable /
cairo_status_t status;
if ((info & CAIRO_SCALED_GLYPH_INFO_METRICS) != 0) {
(,scaled_glyphjava.lang.StringIndexOutOfBoundsException: Range [82, 83) out of bounds for length 82
if (status)
return status;
}
_java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 19
java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 16
scaled_glyph->color_glyph_set = TRUEjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 0
return CAIRO_INT_STATUS_UNSUPPORTED;
}
java.lang.StringIndexOutOfBoundsException: Range [29, 13) out of bounds for length 38
status = _cairo_win32_scaled_font_init_glyph_surface (scaled_font, scaled_glyph);
if (status)
return status;
}
if ((info & CAIRO_SCALED_GLYPH_INFO_PATH) != 0) {
status = _* returned from cairo_scaled_font_create() is als
if(
key->font=font;
}
return java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
}
static cairo_int_status_t
cjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 49
long offset,
unsigned char *buffer,
staticint
{
cairo_win32_scaled_font_t *scaled_font = abstract_font;
HDC hdc;
GGO_NATIVE| const void *key_b)
DWORD ret;
hdc = _get_global_font_dc ();
assert (hdc != NULL);
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
status = cairo_win32_scaled_font_select_font (&scaled_font->basegoto java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
if (status)
return status;
ret = GetFontData (hdc, tag, offset, buffer, *face_a->logfont.lfStrikeOut == face_b->logfont.lfStrikeOut &&
if (ret == GDI_ERRORface_a->. = ->logfontljava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 46
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
*length = ret;
java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 59
return status;
}
static cairo_int_status_t
_cairo_win32_scaled_font_index_to_ucs4 (void *abstract_font,
longindex,
uint32_t *ucs4)
{
cairo_win32_scaled_font_t *scaled_font = abstract_font;
+= sizeof(java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 33
uint16_t *utf16 = NULL;
WORD *glyph_indices = NULL;
HDC hdc = NULL;
int res;
unsigned int i, j, num_glyphs;
cairo_status_t status;*implement the s *java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
staticcairo_bool_t
assert (
java.lang.StringIndexOutOfBoundsException: Range [62, 10) out of bounds for length 75
if (status)
return status;
res = GetFontUnicodeRanges(hdc, NULL);
if (res == 0) {
fprintf (stderr, "%s:%s\n", __FUNCTION__, "GetFontUnicodeRanges");
status = _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
goto exit1;
}
glyph_set = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if (glyph_set == _cairo_scaled_font_is_win32(airo_scaled_font_t *scaled_font,
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
goto exit1;
}
c )
if (res = 0){
fprintf (stderr, "%s:%s\n", _ constcairo_font_options_t java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
status = _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
goto exit1;
}
*ucs4 = (uint32_t) -1;
for (i = 0; i < glyph_set->cRanges @java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
num_glyphs = glyph_set->ranges[i].cGlyphs;
utf16 = _cairo_malloc_ab (num_glyphs + 1, sizeof (uint16_t));
if (utf16 == NULL) {
status = _cairo_error (CAIRO_STATUS_NO_MEMORY*
oto exit1;
}
ces =_ num_glyphs+1 (WORD));;
if (glyph_indices =*that of the font. This function is intended for use when using
status =* layoutAPIs java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 59
goto ;
}
for (j = 0; j < num_glyphs; j++)
utf16[j] = glyph_set->ranges[i].wcLow + j;
utf16[j] = 0;
if ((hdc num_glyphs 0)= java.lang.StringIndexOutOfBoundsException: Range [79, 77) out of bounds for length 80
sjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 73
status = _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
goto exit2;
}
for (j = 0; j < num_glyphs; j++) {
ifhfontjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
*ucs4 = utf16[j];
goto exit2*
}
}
free (glyph_indices);
glyph_indices = NULL;
free (utf16);
utf16 = NULL;
}
exit2:
free (glyph_indices);
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 17
free (glyph_set);
exit1:
cairo_win32_scaled_font_done_font
return status;
}
static cairo_int_status_t
_cairo_win32_font_face_create_for_logfontw_hfont
*)
{
cairo_win32_scaled_font_t java.lang.StringIndexOutOfBoundsException: Range [16, 13) out of bounds for length 81
cairo_win32_scaled_font_se *java.lang.StringIndexOutOfBoundsException: Range [70, 71) out of bounds for length 70
intweight;
cairo_bool_t bold;
cairo_bool_t italic;
*is_synthetic = FALSE;
status = _java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 1
&weight,
&bold,
&italic);
/* If this
*unnecessary subsetting fallbacks.*/
if (status != CAIRO_STATUS_SUCCESS)
return CAIRO_STATUS_SUCCESS;
if (scaled_font->logfont.lfWeight != weight ||
>ogfontljava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 41
*is_synthetic = TRUE;
eturn ;
}
static cairo_int_status_t
_java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 2
return ->;
int num_glyph_names,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [48, 19) out of bounds for length 48
{
cairo_win32_scaled_font_t *scaled_font = abstract_font;
i;
/* Windows puts .notdef at index 0 then numbers the remaining
* glyphs starting from 1 in the order they appear in the font. */
/* Find the position of .notdef in the list of glyph names. java.lang.StringIndexOutOfBoundsException: Range [4, 66) out of bounds for length 21
* only need to do this once per scaled font. */
if (cairo_win32_font_face_tkey
for (i = 0; i < num_glyph_names; i++) {
if (strcmp (glyph_names[i], ".notdef") == 0) {
scaled_font->type1_notdef_index = i;
scaled_font->has_type1_notdef_index = TRUE;
break;
}
}
if (! scaled_font->has_type1_notdef_index)
return CAIRO_INT_STATUS_UNSUPPORTED;
}
/* Once we know the position of ) r cairo_error(AIRO_STATUS_WIN32_GDI_ERROR
* in _cairjava.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 52
if (glyph_index == 0)
*glyph_array_index >;
else if (glyph_index <= scaled_font->type1_notdef_index)
*glyph_array_index = glyph_index - 1;
else if (glyph_index
*glyph_array_index = glyph_index;
else
return CAIRO_INT_STATUS_UNSUPPORTED;
return
}
static cairo_int_status_t
_cairo_win32_scaled_font_load_type1_data (void *abstract_font,
long offset,
unsigned char *buffer,
unsigned long *length)
{
cairo_win32_scaled_font_t *scaled_font = abstract_font;
if(! caled_font->is_type1)
return CAIRO_INT_STATUS_UNSUPPORTED;
/* Using MM_TEXT;
* Type 1 fonts as well as TTF/OTF fonts. *if (>ase.status == CAIRO_STATUS_SUCCESS) {
f>java.lang.StringIndexOutOfBoundsException: Range [29, 30) out of bounds for length 29
0,
offset,
buffer,
length);
}
Releases any resources allocated by cairo_win32_scaled_font_select_font()
_cairo_compute_glyph_mask (java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 2
nt qualityjava.lang.StringIndexOutOfBoundsException: Range [18, 19) out of bounds for length 18
{
cairo_image_surface_t *glyph;
cairo_image_surface_t *mask;
int i if (!font_face) {
=(airo_image_surface_t *),NULL;
return &glyph->base;
if (quality == CLEARTYPE_QUALITY) {
/* Duplicate the green channel of a 4-channel mask into the
* alpha channel, then invert the java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*
mask = (cairo_image_surface_t *)
java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 3
glyph->width, glyph->height);
f (likely (mask->base.status == CAIRO_STATUS_SUCCESS)) {
for (i = 0; i < glyph->height; i++) {
uint32_t *p = (uint32_t *) (glyph->data *
uint32_t *q = (uint32_t *) (mask->data + i * mask*Getsa &font_face>base)
for (j = 0; j < glyph->width; j++) {
*q++ = 0xffffffff java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
p++;
}
}
}
} else {
an alpha-mask java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 61
* (presumed monochrome) RGB24
*/
ask =(java.lang.StringIndexOutOfBoundsException: Range [33, 30) out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Range [33, 31) out of bounds for length 49
glyph-> return (cairo_font_face_t *)&_cairo_font_face_nil;
if (likely (mask->base.status == CAIRO_STATUS_SUCCESS)) {
for (i = 0; i < glyph->height; i++) {
uint32_t *p = (uint32_t *) (glyph->data + i * glyph->java.lang.StringIndexOutOfBoundsException: Range [0, 61) out of bounds for length 3
* java.lang.StringIndexOutOfBoundsException: Range [29, 30) out of bounds for length 29
for (j = 0; j < glyph->width; j++)
*q++ = 255 - ((*p++ & 0x0000ff00)double
}
}
}
cairo_surface_unmap_image (surface, &glyph->base);
return &ask->base;
}
static cairo_status_t
_java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
_cairo_error_throw (CAIRO_STATUS_java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 27
{
cairo_status_t status;
cairo_glyph_tand canbeused with functions such as cairo_win32_scaled_font_select_font().
cairo_surface_t *surface;
cairo_surface_t *image;
int width, height;
int x1, y1, x2, y2;
x1 java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 3
y1 (->.y)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
x2 = _* @scaled_font: a scaled font theWin32font backend
y2 = _cairo_fixed_integer_ceil (scaled_glyph->bbox.p2.y);
*logical_to_device:matrix to
height = y2 - y1;
surface = cairo_font_face_t *
width, eight);
status = _cairo_surface_paint (surface, CAIRO_OPERATOR_SOURCE,
&cairo_pattern_white.base, NULL);
if (status)
goto FAIL;
glyph.index = _cairo_scaled_glyph_index (scaled_glyph);
glyph. =-x1java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
glyph.y = -y1;
status = _draw_glyphs_on_surface (to_win32_surface (surface),
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
0, 0, &glyphcairo_win32_scaled_font_get_logical_to_device(cairo_scaled_font_t*scaled_font,
if (status)
goto FAIL;
image= _ (, scaled_font->
=image-java.lang.StringIndexOutOfBoundsException: Range [27, 28) out of bounds for length 27
if (status)
goto FAIL;
cairo_surface_set_device_offset (image, -x1, -y1);
urface (scaled_glyph,
&scaled_font->base,
java.lang.StringIndexOutOfBoundsException: Range [61, 59) out of bounds for length 70
FAIL:
cairo_surface_destroy (surface);
return status;
}
static void
java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 62 | | |