Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  cairo-win32-font.c

  Sprache: C
 

/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 67
 java.lang.StringIndexOutOfBoundsException: Range [2, 3) out of bounds for length 2
 *Version. java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 2
*    Inc
 *
 * This library is free software; you can redistribute it and*opyright©2005Red , Inc
 * * the*
 * it*
 t""*it thetermsofthe GNULesserGeneral 
 * Public License Version 1.1 ( * License version 2.1 as published FreeSoftware Foundation
 * notice, a recipient * (he "LGPL)or,at your option, under the *License version 2.1 as published by the Free Software java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
 * the MPL or the LGPL.
 *
 * You should have received  *Public License Version .1 MPL".Ifyou do not * Youshouldhave received a copy of the LGPL along with this library
 a  a  may use versionof file undereither
 * Foundation, Inc., 51 Franklin * the  orthe LGPL
 * You java.lang.StringIndexOutOfBoundsException: Range [7, 13) out of bounds for length 2
 * in the  *the   LGPL
 *
 * The contents of this file are 
 *Youshould    copy GPL along with  ibrary
*compliancewith  LicenseYou may  a opy License 
  in filereceived copyof PL witht library
 *
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
 * OF ANY KIND, either express or implied. See the LGPL or the MPL for*  ,,51Franklin ,    fileCOPYING-MPL-11
 * the *
 *
*The Code is the y MPL with thislibrary
 *
 * The Initial Developer of the Original Codejava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 30
 *
 *in  COPYING--.
 */

#include "cairoint.h"

 *V 1. *

#include "cairo-array-private. * The * compliance with .You  java.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 2
#include "cairo-error-private.h"
#* http:/.ozilla.org/MPL/
#include "cairo-pattern-private.h"
#include cairo-subsetsprivateh"

#include * This  distributed  ASjava.lang.StringIndexOutOfBoundsException: Range [42, 1) out of bounds for length 67

#*java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 71

/**
 * SECTION:http://www.mozilla

*
  s java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
 *
 * The Microsoft #include "cairo-error-private "cairo--error-java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 32
   Windows.
 *
 *  *the   thejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#efine java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
 **/


/** c  T GDI
*  W Fonts
 *
 * Defined if the  @hort_Description:Font java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 32
*   be toconditionally compilebackend- code.
 *
    * Microsoftsystems.
 **/


java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 2

typedef
cairo_scaled_font_tbase;

L *  java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0

    BYTE *

    /* We do drawing and metrics computation in a "logical space" which
    *java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 69
*of
       WIN32_FONT_LOGICAL_SCALEfor  java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
     */

    double java.lang.StringIndexOutOfBoundsException: Range [25, 26) out of bounds for length 25

/
     *from thelogical_scalebecauseitis quantizedfor
     * transformations ;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24

    /* Transformations from device <=> logical space
     */

   java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
    airo_matrix_t      * of the (desired font size) * * is similar to font space, except thatbyaactor

    /* We special case combinations of 90-degree-rotations, scales andf  esired*llowsforsub-xelprecisionjava.lang.StringIndexOutOfBoundsException: Range [66, 67) out of bounds for length 66
 
     * axes. If preserve_axes is java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
*     *
     s
     */

    cairo_bool_t preserve_axes;cairo_matrix_t logical_to_device
    java.lang.StringIndexOutOfBoundsException: Range [26, 16) out of bounds for length 27
    cairo_bool_tswap_x//
    cairo_bool_t swap_y;
    double x_scale **java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    * ..that transformationsthat takethe tothe

    /* The size of the design unit of the font
     */

    intem_square

    HFONT java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
unscaled_hfont;

    cairo_bool_t is_bitmap;
    cairo_bool_t is_type1;
    cairo_bool_t delete_scaled_hfont;
    cairo_bool_t java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 7
   unsignedlongtype1_notdef_indexjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
}*cswap_axes;

static cairo_status_t
const _java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 7

     * axes. If java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 0
cairo_scaled_glyph_t*scaled_glyph)
    unsigned ), andscale_x,scale_y*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

static cairo_status_t
_cairo_win32_scaled_font_init_glyph_surface (java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 0
                                                 double x_scale java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

static java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lyph_path(iro_win32_scaled_font_t *,
       cairo_scaled_glyph_t      *scaled_glyph);

#define NEARLY_ZERO(d) (fabs(d) < (1. / java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 0

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 10
_
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 1

    if (!hdc_tls_index
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 2
if !hdc_tls_index){
     hdc_tls_index = TlsAlloc      
 CAIRO_MUTEX_LOCK _))java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
 
   java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    }

    i cairo_status_t
    _cairo_win32_scled_font_init_glyph_surface (*java.lang.StringIndexOutOfBoundsException: Range [84, 83) out of bounds for length 84
 java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 33
 
 =
      ;
 }

 java.lang.StringIndexOutOfBoundsException: Range [20, 3) out of bounds for length 43
( %:n"_java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 73
     DeleteDC
 #define NEARLY_ZERO() (fabs() <(1./ 65536.))
}}

 if
     DeleteDC ()java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
     ;
 }
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
}

returnjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
_ HDChdc
      (java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
    cairo_status_t status;

     if (!java.lang.StringIndexOutOfBoundsException: Range [0, 19) out of bounds for length 0
     (sc->x)}
 scaled_font
 static cairo_status_t
 scaled_font->swap_x = (sc->xx_java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 aled_fonthdc_tls_index  ! TLS_OUT_OF_INDEXES;
 java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
 caled_font--swap_axes  LSEjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

    } else  !NEARLY_ZERO(sc->xx)& java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 5
    if(hdc) java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
 scaled_fontcaled_font-=-x;
 scaled_font->wap_x = caled_fontjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
scaled_fontcaled_font-yy_scale sc-java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
 java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 2
 swap_axes= java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    D ();
 scaled_font->preserve_axes = FALSE;
p_x=>  wap_axes Fjava.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 76
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    if (scaled_font->preserve_axes) {
 if(-swap_xjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 51
 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 36
          y -java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

-
     } else {(-xx &java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     ccaled_font_;
    }

    /* The font matrix has x and y "scale" components which we extract and
     ascharacterscalevaluesjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
     */

cairo_matrix_init &scaled_font->    > java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 5
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    java.lang.StringIndexOutOfBoundsException: Range [20, 6) out of bounds for length 38
  c(-s)
            &scaled_font->logical_size = -swap_x=(c-<0c   x_scale=-x;
      -=sc>;
  sjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
 cairo_matrix_in logical_to_devicescaled_fontjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0

saled_font>  ->  -swap_axes ;
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 >is       java.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 57
 java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 12
    

    cairo_matrix_scale (&scaled_font->caled_font      useasc values.
 0                               (-y_scale;
   1.0 /         sc- -yx -xy,        sc->xx, sc->yx, sc->xy, sc

    scaled_font   1.0  scaled_font-java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0

    status =  1.0 / scaled_fontlogical_scale);
    if*/
 airo_matrix_init_identity        TRUE; * XXX: Handle vertical text */

            sc-xx,sc> return;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

static status = _cairo_ma
hlityvoid
{
OSVERSIONINFOversion_info

java.lang.StringIndexOutOfBoundsException: Range [16, 4) out of bounds for length 62

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
_    if (!GetVersionEx (&version_info 1/scaled_font-java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
 return FALSE;
    c &-java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 15

    return
     returnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
cjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 62
 returnjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0

BYTE
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
{
    BOOL font_smoothing;
    UINT_ _FUNCTION__ GetVersionEx      version_info_ave_cleartype_quality voidjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        _java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 4
 DEFAULT_QUALITY;
}

    return(dwMajorVersion>5        iro_win32_print_api_error(FUNCTION__ G";
i _java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      (SPI_GETFONTSMOOTHINGTYPE
           0, &
                _airo_win32_print_api_error_FUNCTION__ "ystemParametersInfo)java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
  return java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5
     }

     java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 24
java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 27
 }

 return ANTIALIASED_QUALITY
    }
 java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
     java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 24

/* If face_hfont is non-%NULL then font_matrix must be a simple scale by some
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 24
 *       java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
 */

static TY
_win32_scaled_font_create 
 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
      cairo_font_face_t       *    
   java.lang.StringIndexOutOfBoundsException: Range [26, 6) out of bounds for length 46
_java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
 ions
    java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
{
    HDC hdc;
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 12
    cairo_matrix_tjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 33
    cairo_status_t *java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

    _win32_scaled_font_create *java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
    ifhdc= 
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

f sjava.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
   ff= _win32_scaled_fon                    logfontjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
returnairo_error()java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46

    f-  const       *,

    java.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 42
     * order{
 cairo_font_options_tjava.lang.StringIndexOutOfBoundsException: Range [27, 12) out of bounds for length 12
      q'
*
     *
hdc ) hdc=java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 7
    if ( = _cairo_calloc
 -(= NULL)
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
switch (options-

     f->java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
     break;
 case CAIRO_ANTIALIAS_GRAYjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
 case  >quality   (;
 case java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 10
     f-> case     * cairo_font_options_t.We the 'ntialias'java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 21
break;
CAIRO_ANTIALIAS_SUBPIXEL:
 case :
          *      here s           isthejava.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 45
>=java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        -(antialias{
  f->quality = ANTIALIASED_QUALITY;
  java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
AIRO_ANTIALIAS_DEFAULT:
     ASSERT_NOT_REACHED;
 }
   }

    -em_square= 0;
     -casejava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 27
    ;
  

    ifjava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
        (logfont>if(java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
options>= CAIRO_ANTIALIAS_DEFAULT)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
 isnonelse
         * own   f-quality = ASSERT_NOT_REACHED;
         * guarantee it was created  java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
         * _ java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   * *
        f->scaled_hfont= java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 37
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    *donteletethe hfont ifwere  the passed in to usjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0

    airo_matrix_multiply &scale, ;
    status        (-lfQuality==DEFAULT_QUALITY
         -antialias=CAIRO_ANTIALIAS_DEFAULT)){
 goto/* If face_hfont is non-NULL, then we can use it to avoid creating our cairo-attern-.h"

    status         *own- the java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 72
         font_matrix             was created exactly   that
         &_java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 11
    if (    if (status Font         * _win32_scaled_fonould create .
 goto    f->java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 2

     = _java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 5
    if (status){
 _cairo_scaled_font_finigoto FAIL;
  FAIL;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

*  &>;
    return java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 11

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    free (f);
    eturn status    ifstatus{
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

static*
_java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 6
typedef    return java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
    XFORMjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    _java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 11

    if (!SetWorldTransform (hdc, &xform)) {
    cairo_matrix_to_win32_xform*byjava.lang.StringIndexOutOfBoundsException: Range [9, 0) out of bounds for length 0
    fprintf stderr,"s:& java.lang.StringIndexOutOfBoundsException: Range [35, 15) out of bounds for length 74
}

return;
}

static cairo_status_t
_java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 21
{
if!odifyWorldTransform (, NULL,*java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
 ( %:,_java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 74
        lfEscapement java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    }

     
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

static cairo_status_t
n32_scaled_font_get_scaled_hfont (cairo_win32_scaled_font_t *scaled_font,
       *)
{
if(-sjava.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 37
  =-java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 41
 logfont.lfHeight = -java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 31
 taticc
 logfont.lfEscapement = 0unsigned  unsigned int= ;
 logfont. =_
 logfont.static cairo_status_t

 -scaled_hfont =java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
 if (scaled_font-s) {
            fprintfjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 9
            _cairo_errorCAIRO_STATUS_WIN32_GDI_ERROR)java.lang.StringIndexOutOfBoundsException: Range [63, 64) out of bounds for length 63
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
     

    java.lang.StringIndexOutOfBoundsException: Range [21, 19) out of bounds for length 49
    HFONT  *hfont_out
}

static cairo_status_t
_nscaled_hfontjava.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 78
           HDC                        hdc)dhfont
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
         hdcjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
!java.lang.StringIndexOutOfBoundsException: Range [21, 19) out of bounds for length 42
int     cairo_matrix_t            *sc)
 HFONT scaled_hfont;
   
java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 23

 status}
 sotm =(otm_size;
if()
  status;

 if  logfont  (   ->;
            (stderr,"%:s\fjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 23
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}

 otm_size = java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 5
 if    ->logfont;if(caled_font-        java.lang.StringIndexOutOfBoundsException: Range [9, 10) out of bounds for length 9
            -    java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 32
}
        }

  o)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
  (tm =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     return _       &scaled_font

  !GetOutlineTextMetrics(dcreturn java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
,_java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 79
free_java.lang.StringIndexOutOfBoundsException: Range [23, 15) out of bounds for length 15
             java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2

 scaled_fontreturn ;
 free (otm);
        otm     (java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 15

 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
t->java.lang.StringIndexOutOfBoundsException: Range [0, 43) out of bounds for length 31
  (dc,old_hfont);
}
 logfont    etMapMode (hdc}
 logfont.lfQuality =     SetMapMode (dc,MM_TEXT);

 r     return CAIRO_STATUS_SUCCESS;
 if (! java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 1
            fprintfjava.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
            return _cairo_errorcairo_win32_scaled_font_t    (ersion_info. = java.lang.StringIndexOutOfBoundsException: Range [38, 0) out of bounds for length 0
        {
    }

    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    return CAIRO_STATUS_SUCCESS;


static cairo_status_t
_java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 1
}
{
    cairo_status_tjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    HFONT old_hfont = }

ed_hfont ((cairo_win32_scaled_font_t *)scaled_font, hdc, &hfont);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 return status;

    old_hfont = SelectObject (hdc    status;
    if (!old_hfont)  java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        fprintf (stderrEjava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 33
        return  const     f face_name_len = LF 1
java.lang.StringIndexOutOfBoundsException: Range [47, 4) out of bounds for length 5

    free ()java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    if (status) {
  (hdc=)
 java.lang.StringIndexOutOfBoundsException: Range [58, 3) out of bounds for length 58
    }

    etMapMode hdc     logfont.lfWidth = 0; /*  in later*

ATUS_SUCCESS;;
}

ool_t
* quality.
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    cairo_win32_scaled_font_t *win32_scaled_font;

java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 66

    returncase CAIRO_FONT_SLANT_Ijava.lang.StringIndexOutOfBoundsException: Range [33, 34) out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

cairo_bool_t
java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 69
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    logfont.lfUnderline  ;

    /* The docs for LOGFONT discourage using this, since the    )

    font_face= would  java.lang.StringIndexOutOfBoundsException: Range [37, 38) out of bounds for length 37
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 59
_java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 27
{
}

/* implement the font backend interface */


static java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 11
_cairo_win32_font_face_create_for_toy, then we can use it to avoid creating our
 
 *   exactlyway
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    
java.lang.StringIndexOutOfBoundsException: Range [71, 22) out of bounds for length 22
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 26

    status = _cairo_utf8_to_utf16 (toy_facestatic unsigned long
 )
    if (status)
 atus;
     (dc  )java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 79
 face_name_len = java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

    memcpy (logfontjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [11, 8) out of bounds for length 71
    ( (,, &,0) =GDI_ERROR){

    logfont.lfHeight = 0; /* filled in later */

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
l.
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

logfont.fHeightjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
   java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34
    cairo_win32_ (*java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 60
 break(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 12
 logfont.returnif
 breakjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 5

 toy_facejava.lang.StringIndexOutOfBoundsException: Range [61, 62) out of bounds for length 61
    case CAIRO_FONT_SLANT_NORMAL    return status;
    default:
 logfont.lfItalic   f(o;
 ;
    case CAIRO_FONT_SLANT_ITALIC:
    NT scaled_hfont;
 logfont.java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
 break
    }

    logfont     
    logfont..java.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 32
 ifstatus)
*is localespecific,butjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 0
     * otm_size max_x_advance=            fprintf (stderr, "%s" FUNCTION__ ""java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
     /
    java.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 0 out of bounds for length 0
   tMetrics h,,otm){
java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 59

    font_face              java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 4

    
}

static void
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 51
{
    java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 59

    if (logfont.lfEscapement . = dm.tmDescent  . =0   transformedfont large we to
 ;

 extentsax_y_advance ->unscaled_hfont CreateFontIndirectW&;
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    (--)
 (java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 9
}

exten.  double. / >java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
c   *,
 java.lang.StringIndexOutOfBoundsException: Range [38, 3) out of bounds for length 37
{
    cairo_win32_scaled_font_t *java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 5
    char_t [[];
     *asatus)
    HDC hdc = * improves for  most java.lang.StringIndexOutOfBoundsException: Range [58, 59) out of bounds for length 58
    old_hfont = SelectObject (hdc     */java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    hdc = _        fprintf (stderr, "%s:n,if(       n_.UnlikeorOpenType
     ( ! );

      {{
     s f ( h,CMAP_TAG ,NULL,0= GDI_ERROR)&java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
 return ;

    unicode[0 =ucs4;
    unicode-is_type1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        fprintf (stderr,    _     * the file. Thisto   java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
 java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
    }

    java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 7

    ;
}

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
_ (cairo_win32_scaled_font_t    {
{
airo_status_t cairo_text_extents_t extents;
    cairo_font_extents_t extents HDC;

     = {0 {
    HDC hdc;

    hdc = _java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 1

    ifjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 1
 /* For 90-degree rotations (including 0), we get the metricscairo_font_extents_t java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 35
  UINT charIndex = _      cairo_scaled_glyph_t      )
 */

 status = cairo_win32_scaled_font_select_font    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
 if (status)
     return status;
     statusjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
(stderr %:%\    assert(!;
status  cairo_error
 }

 cairo_win32_scaled_font_done_font (&scaled_fontcairo_font_extents_t ;
 if s)
 return charIndex  cairo_scaled_glyph_indexs)

.tmAscentscaled_font-cairo_scaled_font_extentsface_name_len=LF_FACESIZE-1java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 66

 extents      0;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 .  =0java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27

    s =_java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [60, 61) out of bounds for length 60
   ofthe font.  GDIresults java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 23
  * transformedextentsx_bearing  java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
 * avoid .
  */
 defaultjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
 if  fromthe GDIinbreak;
     returnstatus;
   */
 _ status =logfont.extents.y_advancee=;

 break;    eturnstatusjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
extentsdescent = (double)metrics.tmDescent /scaled_font->em_square;
(metrics /* If we aren't rotating / skewing the axesCAIRO_FONT_SLANT_NORMALjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
 .tmMaxCharWidthogfont.= *from he spaceandjava.lang.StringIndexOutOfBoundsException: Range [48, 44) out of bounds for length 59
extentsmax_y_advance  ;

    }

    caled_font

    /* Need to determine if this is a Type 1 font for the special
      e Unlike java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 12
 (or any   needs berendered  "bleed"into the adjacent pixels, mainlyon   java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
*GetFontData(  font 
     * requesting that GetFontData() retrieve data from the start of
* . is to Type1 stroke  such
     * as "Script" and "Modern metricsgjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     but     * for example, or other code that usextents determinearea update,
     */

       * and tothe    y_bearingm.java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 74
        extents.DeleteObjects-java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 5
 (metrics.java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    {
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 63
      (     extents.y_beajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [40, 3) out of bounds for length 3
        glyph_index
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

     _    extents.x_advance = metrics.gmCellIncY
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

static cairo_status_t
=java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 64
       x_advance=- extentsx_advance;
{
    static const MAT2     extents return ;
    GLYPHMETRICS metrics;
    cairo_status_t status;
    cairo_text_extents_t extents;
    HDChjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

     =_get_global_font_dc ();
   assert(hdc != NULL);

(caled_font->is_bitmap    extents.x_advance=.;
 /* GetGlyphOutline will not work. Assume that the glyph does not extend outside the font box. */
 if (scaled_font * of the font.
 java.lang.StringIndexOutOfBoundsException: Range [10, 4) out of bounds for length 15
 UINT    xtents._ = status  cairo_win32_scaled_font_select_unscaled_font&caled_font>,hdc)

 java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 12

 status = cairo_win32_scaled_font_select_font      * of the fontfont
 if (status)
     return status;

 if  (status)
      fprintf stderr,"s%sa          GO_METRICS|GGO_GLYPH_INDEX,
            status java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      = 0java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
 }
  f G  logicalspace thenconvert  to ontspace
 if ( memset (java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 4
     return status;

 earing= ;
 extents.java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 0
extentswidth=width  W  >x_scale;
  java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 72
 xtents.  .width;
 extentsy_advance=;
    }else (caled_font-java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
 /* If we aren't rotating / skewing the axes, then we get the metrics
  space convert o  spacejava.lang.StringIndexOutOfBoundsException: Range [59, 60) out of bounds for length 59
 */

 status = cairo_win32_scaled_font_select_font extents.   extentsy_advance  double./ scaled_font->em_square;
tatus)
     return status;

 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
         GGO_METRICS | GGO_GLYPH_INDEXt are*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
         &metrics, 0, java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  tatic
 } else {
     if        
  /* The bounding box reported by Windows supposedly contains the glyph's "black" area;
   however *font-space metrics.
  win32_scaled_font_t caled_font  ;
*  
 e other 
   * we add a pixel of java.lang.StringIndexOutOfBoundsException: Range [65, 11) out of bounds for length 65
   glyphs bleed        int                  ,
 */

  metrics.*GetFontData( xjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
     staticconstMAT2  ={{0  }  0,0 },  0 0 },{0,1 }}java.lang.StringIndexOutOfBoundsException: Range [74, 75) out of bounds for length 74
     }
 }
cairo_win32_scaled_font_done_font-base;

 if (scaled_font->swap_axes) {
 extents.x_bearing  -metrics.gmptGlyphOrigin.y /scaled_font
     ifnum_glyphs  java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
     extents.width       metrics, , GLYPHMETRICSmetrics;
  cjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   gmCellIncXjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 3
 } else {
 mptGlyphOrigin  xscale
 ifi= |   java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
. .java.lang.StringIndexOutOfBoundsException: Range [43, 40) out of bounds for length 64
 xtents.  . java.lang.StringIndexOutOfBoundsException: Range [57, 55) out of bounds for length 65
 scaled_fontx_scale
      const   ,  0 }{0 f tatus
 }

 if ( cairo_win32_scaled_font_done_font
 a hdc!
     extents.if (scaled_font->is_bitmap
 }

>ap_y {
    .b - java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 64
     extents.y_advance =-  charIndex
 java.lang.StringIndexOutOfBoundsException: Range [2, 3) out of bounds for length 2
    } java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
 /* 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, 7) out of bounds for length 82
 if (status)
     returnjava.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 0

 if    intstart_x;
                       GGO_METRICS |  intjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
              i=  void
     memsete = +metricsm. (extents caled_font>.*nt_extentscent+ font_extents /_;
 }
 _nt_done_unscaled_font(&-base;

   HDC                         )
 extents.y_bearing = -     state>hdc=hdc;
extents.=(doublegmBlackBoxX  int)
  y2cairo_array_init(>lyphs sizeof();
 java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 2
 extents=double)mCellIncY >
    }

    java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 50
  java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
    &xtents;,0,sizeofGLYPHMETRICS);

    returnCAIRO_STATUS_SUCCESS{
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

/* Not currently used code, but may be useful in the future if we add
      
   int * dx_elements;
 * font-java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 3
#if     r 
ic #dif
ro_win32_scaled_font_glyph_bbox (typedef struct {
          metricswin32_scaled_font_t s  state>tart_x state->ast_y,
       yphs.e.= ..gmptGlyphOriginy/scaled_font->_java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
         cairo_box_t         *bbox)
{
 MAT2 matrix =_airo_array_truncate(state>xjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
    add_glyph(cairo_glyph_state_t *state,

    if (num_glyphs
_bearing- {
 e.java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 64
 cairo_status_t java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 12
 int i;

 hdc s
 ssert (hdc != NULL);

  =     java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 26
 tatus
 cairo_java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21

  i =0   num_glyphs;i+)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
   extents.x_advance = (doub_  if(java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
     int y = _cairo_lround (glyphs[i].y);

    (dci. |java.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 75
trix)

     if (i == 0 || x1 > x        ETO_GLYPH_INDEX,
  java.lang.StringIndexOutOfBoundsException: Range [18, 4) out of bounds for length 37
     if (i == 0 || y1 > y - metrics.gmptGlyphOrigin.y)
  y1 = y - metrics.gmptGlyphOrigin_java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 46
  GLYPHMETRICS metricsjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
icsx+(int)java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 64
      i =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 ..  (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 }

 nt(b;
    }

        java.lang.StringIndexOutOfBoundsException: Range [26, 11) out of bounds for length 35
fixed_from_int (1)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 29
    doubleuser_y=
. =cairo_fixed_from_int y2;

returnCAIRO_STATUS_SUCCESS;
}
#endif

typedefjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    bbox-p1.=ogical_y s_t ,java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    HDC hdc;

    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    cairo_array_t dx;

    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    int last_y oto ;
}     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

 void
_start_glyphs (cairo_glyph_state_t        *state,
        cairo_win32_scaled_font_t  *nt,surface>)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
        HDC                         hdc)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    statejava.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 21
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 5

    _    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    state-,java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 49
   java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18

static cairo_status_t
_flush_glyphs (elementsjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
{
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
    int java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
  

     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 1
 return status;

     =     java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        if (state->java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
     !java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        state->start_x
s  cairo_array_append&tate-dx,return;
        NULL,
       java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 17
        state  state-java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 30
   java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
 tderr,%%\n" _FUNCTION__,"CreateSolidBrush");
IRO_STATUS_WIN32_GDI_ERROR);
    }

,0;
    , 0);

       return    
}

static cairo_status_t
    r_airo_error(IRO_STATUS_WIN32_GDI_ERRORjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
     if (status    airo_win32_scaled_font_select_font
d               java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35

{
    cairo_status_t statusjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 55
=device_x;
    double user_y = device_y;
    WCHAR glyph_index = index    (  0   status2 = _finish_glyphs&;
    

    cairo_matrix_transform_point return java.lang.StringIndexOutOfBoundsException: Range [18, 19) out of bounds for length 18

    logical_x = _      cairo_scaled_glyph_tscaled_glyph
       logical_yt       cairo_color_tforeground_color)

     state-num_elements>0)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
 int dx;

 if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     status = _flush_glyphs (state);
     (java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
 status;
    -start_x java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
      tatus java.lang.StringIndexOutOfBoundsException: Range [61, 59) out of bounds for length 61
        return statusjava.lang.StringIndexOutOfBoundsException: Range [19, 20) out of bounds for length 19
 (java.lang.StringIndexOutOfBoundsException: Range [0, 15) out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 16
 }
    } else {
state-start_x  logical_xjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    }

    -last_x =logical_xjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    state->java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0

    = &statejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    )
 return status;

    return CAIRO_STATUS_SUCCESS  ){
}

  _cairo_malloc_abjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
{
    cairo_status_t status;

    status = _flush_glyphs (tate)i]wcLow +j;

    _    if (info & CAIRO_SCALED_GLYPH_INFO_ = _               cCAIRO_STATUS_WIN32_GDI_ERROR);
   airo_array_fini &-dx)rstatusjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
 *ucs4= utf16[]java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    return status;
}

static cairo_status_t
_draw_glyphs_on_surface (cairo_win32_surface_t     *surface,
led_font_tcaled_font,
  (utf16)java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
                    java.lang.StringIndexOutOfBoundsException: Range [40, 41) out of bounds for length 40
int                        ,
    const cairo_glyph_t       *glyphs,
    int       num_glyphs)
{
    cairo_glyph_state_t state;
        = cairo_error 
    i;

    if (!SaveDC (i GetGlyphIndicesW(,utf16n ,0 =GDI_ERROR)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
        java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
        return _cairo_error (
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12

     java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
ifhdc=java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 33


    c
    SetTextAlignsurface-java.lang.StringIndexOutOfBoundsException: Range [27, 15) out of bounds for length 15
    SetBkMode (surface->dc*=FALSE;

    _java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 53

    for (i = 0; i < num_glyphs; i++) {
 java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 39
        glyphs[i].*=ret;
 if (status)
     goto ;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    status2  scaled_font->ype1_notdef_index airo_win32_scaled_font_index_to_ucs4 ( abstract_font,
    if (status == CAIRO_STATUS_SUCCESS)
 status = status2;

    java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 59
 FAIL1:f (=0strcmp ( on .position of any glyph
surface 1;

    return  >java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 54
}

static 
_java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
         cairo_scaled_glyph_t          java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            unsigned long   )
         const cairo_color_t       *foreground_color)
{
    ed_font_t*caled_font  abstract_font;
    cairo_status_t status;

if( )!0 java.lang.StringIndexOutOfBoundsException: Range [56, 57) out of bounds for length 56
  c (scaled_font
cairo_surfac java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
     return status
    }

     (nfo     cairo_malloc (res);
 scaled_glyph->    cairo_image_surface_t*glyphjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
 int i,jjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
 return CAIRO_INT_STATUS_UNSUPPORTED;
    }

    
=ciro_win32_scaled_font_init_glyph_surface ;
  /*Duplicate  green channel of a 4-channel    glyph>width,glyph-height)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
 ;
    }

)!}
 status = _uint32_t *p = (uint32_t
java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
     return status;
    }

java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 25
_ *java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 46
unsigned longtag,
                                              mask>. ==CAIRO_STATUS_SUCCESS){
                                             tatic j  jgwdth;++
                                             unsigned longjava.lang.StringIndexOutOfBoundsException: Range [1, 63) out of bounds for length 2
{
    java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 22
    HDC hdc;
    cairo_status_tx1 =_ (cairo_win32_scaled_font_t *scaled_font
         java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26

c*java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    assert  java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 16

<<| ;j ;){
    java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 75
    if (status)
 returnstatus;

 java.lang.StringIndexOutOfBoundsException: Range [23, 21) out of bounds for length 58
java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 41
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 46
glyp _java.lang.StringIndexOutOfBoundsException: Range [45, 43) out of bounds for length 59
 *length  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    cairo_win32_scaled_font_done_font (&scaled_font->base);


}

static cairo_int_status_t
_java.lang.StringIndexOutOfBoundsException: Range [61, 38) out of bounds for length 61
   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     uint32_t *ucs4)
{
    cairo_win32_scaled_font_t *scaled_font = abstract_font;   font_matrix, ctm}
    GLYPHSET *glyph_set;
       *               FIXEDFxFIXED Fyjava.lang.StringIndexOutOfBoundsException: Range [58, 59) out of bounds for length 58
    WORD
        if (SetWorldTransform (hdc    cairo_matrix_transform_point (matrix, &x, java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    int res;
    unsigned int     scaled_glyphjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
     statusjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26

    hdc = _ logfont.lfHeight !java.lang.StringIndexOutOfBoundsException: Range [0, 38) out of bounds for length 29
    (hdc !=NULL);

font_select_font (     s-lfWeight=weight |
 if (tatus)
        java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 31

    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 1
    if (res == 0) {statusjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 25
         **lyph_namesjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
        status              (tderr, "%s:%\n"        airo_matrix_init_identity&ransform;
 goto exit1;
    }

set_cairo_malloc )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 28
  (     * glyphs starting from 1 in the orderappear in      * glyphs starting from 1 in the order they appear in the
 goto exit1;
    }

        if (if (=buffer=_cairo_malloc (bytesGlyph);
    if res 0 java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
        fprintf (stderr, "%s scaled_fontprintf (tderr "s:sn" _FUNCTION__, "CreateFontIndirect");
   cairo_status_t  statusjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
f!java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 43
    }

    *SelectObject( old_hfont)
;i -;++{
 num_glyphs = glyph_set->ranges[i].java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 39

 utf16 = _cairo_malloc_ab (num_glyphs + 1b;
 if (utf16 == NULL) {
     status=_java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 8
     goto java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
 }

 
   java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
 status    *(java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 45
 exit2;
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 2

 case:
    []=lfWidth=;*   /
              _java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 34

if  logfont.fWeight=FW_BOLDjava.lang.StringIndexOutOfBoundsException: Range [28, 29) out of bounds for length 28
fprintf(tderr,%:\"                                                            )java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
            java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 5
     goto exit2;
 }

*java.lang.StringIndexOutOfBoundsException: Range [15, 12) out of bounds for length 37
java.lang.StringIndexOutOfBoundsException: Range [68, 37) out of bounds for length 37
* j;
  goto exit2;
    
     f( c path &p1x,p1)

   points[]java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
 java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
 free (utf16);
 utf16 = NULL;
    }

exit2:
    free (glyph_indices);
     (;
free glyph_set)
exit1:
    cairo_win32_scaled_font_done_font (&scaled_font->base);

    return status;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

 
_cairo_win32_scaled_font_is_synthetic (returnstatus;
         cairo_bool_t    _java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 62
{
 *  abstract_font;
    cairo_status_t status;
    weight;
    cairo_bool_t bold;u p=(uint32_t ) (lyph-dcairo_matrix_transform_point c1y = cy1 java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
  cairo_scah_t*)

 
    status = _java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 12
     &weight,
     &bold,
     &italic);
    /* If this doesn't work assume it is not synthetic to avoid
     * unnecessary subsetting fallbacks. */

    if (status != CAIRO_STATUS_SUCCESS)                                                           
 java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 scaled_font->        status = _cai(   uint32_t  ucs4)
        *java.lang.StringIndexOutOfBoundsException: Range [59, 42) out of bounds for length 59

         get_global_font_dc
}

  if (   &scaled_f-basejava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
_cairo_win32_scaled_font_index_to_glyph_name (void  *abstract_font,
                 *glyph_names,
           int       =GetGlyphOutlineW(        fprintf (stderr,"s%\n,_FUNCTION__, "GetGlyphIndices");
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  unsigned &)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
{
    


    /* 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. We
     * only need to do this once per scaled font. */

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  i  <um_glyph_names+ java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
     if (strcmp (  * from the GDI in logical }
  status  cairo_win32_scaled_font_select_font(scaled_fontif(GetGlyphOutlineW2
  java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
  break;
     }
 }
 if (!scaled_font->has_type1_notdef_index)
      CAIRO_INT_STATUS_UNSUPPORTED;
    }

    /* Once we know the position of .notdef the position of any glyph
     * in the font can easily be obtained. */

    if (ajava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
 glyph_array_index= scaled_font->type1_notdef_index;
    else if returnstatus;
 *glyph_array_index
 long)um_glyph_names)
 *glyph_array_index = glyph_index;
    else
java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

     /* For all other transformations, we use the design metrics
}

 *avoid .
_ = cairo_win32_scaled_font_select_unscaled_font&>base,hdc)java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
       long               offset,
 d *java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 63
  *>#java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 61
{
    ed_font = abstract_font;

    if !scaled_font->s_type1)
return java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 37

    /* Using the tag 0 retrieves the entire font file. This works with
     * Type 1 fonts as well as TTF/OTF fonts. */

     (java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 10
      "  Modern". testredundant
    
       scaled_font>java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 34
        length);
}

cairo_surface_t *
_cairo_compute_glyph_mask (cairo_surface_tjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
   )
{table  /
    cairo_image_surface_t *glyphcairo_win32_scaled_font_init_glyph_metrics *caled_font
    cairo_image_surface_t *    cairo_win32_font_face_hash_t=NULLjava.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

    GLYPHMETRICS metrics;
    if (unlikely (glyph->_cairo_win32_transjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 40
 return &glyph->hdc = _get_global (java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33

    if ( =CLEARTYPE_QUALITY)java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [60, 61) out of bounds for length 60
   , f(unlikelycairo_win32_font_face_hash_table
  */
 mask = (cairo_image_surface_t *)
     cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
     glyph->width, glyph->height);
if(- java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 62
     for (i = 0; i < glyph->height; i++) {
  uint32_t f(  _)
  uint32_t *q                                                              return java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17

      r ;
      *q++_cairo_win32_transform_FIXED_to_fixed
      p++;
  }
 
 }
java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 12
 /* Compute an alpha-mask from a using the green channel of a
  * (presumed monochrome) RGB24 image.

 mask = (cairo_image_surface_t *cairo_hash_table_t hash_table;
     cairo_image_surface_create (CAIRO_FORMAT_A8,
     glyph->width, glyph->height);
((ask--base. =CAIRO_STATUS_SUCCESS) {
   -h i+ java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
u ndex =cjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
  uint8_t *q = (uint8_t *) (mask->data + if(    glyph.=-y1java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18

  for (j = 0;     extents.xbearing   metrics.gmptGlyphOrigin 
     q+2 (+& x)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
 java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
      java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 67

    cairo_surface_unmap_image (surface, &glyph}
    return &mask->base;
}

static {
_cairo_win32_scaled_font_init_glyph_surface (cairo_win32_scaled_font_t *scaled_font,
                                             java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 19
t    metrics,,sizeofcjava.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 62
    cairo_status_t status;
    cairo_glyph_t glyph;
    cairo_surface_t *surface;
    cairo_surface_t *image;
    , ;
    int x1, y1, x2, y2;

    x1 = _java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 1
    y1 = _cairo_fixed_integer_floor (scaled_glyph->bbox.p1.y);
    x2 = _cairo_fixed_integer_ceil (scaled_glyph->bbox.p2.x);
    y2 = _cairo_fixed_integer_ceil (java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 5
    width =                )
=  ;

    surface = cairo_win32_surface_create_with_dib (java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 39
         width, height  java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
     =_cairo_surface_paint surface,java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 21
     _
,
    if (status)
     glyphsi])

    glyph.index = _cairo_scaled_glyph_index (scaled_glyph);
    glyph.x = -x1;
    glyph.y = -y1;
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
        java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 34
                                      ,,&1;
    f (status)
 goto FAIL;

    image = _cairo_compute_glyph_mask &java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 56
    status = image->>y cjava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 44
    
 goto FAIL;

    cairo_surface_set_device_offset (image, -x1, -y1);
    _java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
                                     &scaled_font->base,
                                     (cairo_image_surface_t *) image);

   cjava.lang.StringIndexOutOfBoundsException: Range [42, 34) out of bounds for length 49
    cairo_surface_destroy

    return status;
}

static void
_cairo_win32_transform_FIXED_to_fixed
                                       FIXED Fx, FIXED Fy,
                                       cairo_fixed_t *fx, cairo_fixed_t *fy)
{
    if (st)
    elements  _(&> 0;
     y)
    *fx = _cairo_fixed_from_double (x);
    *fy = _cairo_fixed_from_doublejava.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 71
}

static cairo_status_t
_ *caled_font
 elements,
{
    static const MAT2 matrix        dx_elements){
    cairo_status_t status;
    HMETRICSmetrics;
    HDC intain _airo_array_truncate &>,0)java.lang.StringIndexOutOfBoundsException: Range [46, 47) out of bounds for length 46
    DWORD bytesGlyph;
    cairo_font_face_t  that  java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 1
       *java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    ;
    cairo_fixed_t x, y;

      * Modifications (  *java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 65
 return CAIRO_INT_STATUS_UNSUPPORTED;

    hdc = _static  *airo_win32_font_face_hash_table =NULLjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 55
     (hdc ! NULL)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

    =_airo_path_fixed_create )
    if (!path)
 return _cairo_error (CAIRO_STATUS_NO_MEMORY);

    -baseoptions.java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 72
        java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 89
        transform = java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 96
java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 12
        status  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
           -lfHeight and the CTM is identity.
    }
    if()
        java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26

    bytesGlyph = GetGlyphOutlineW (hdc, _cairo_scaled_glyph_index (scaled_glyph),
       GGO_NATIVE | GGO_GLYPH_INDEX,
       &metrics, 0, NULL, &matrix);

    if (bytesGlyph  _cairo_hash_table cairo_win32_font_face_keys_equal)
        fprintf (stderr, "%s:%s\n", __FUNCTION__,  COLORREF                   if (cairo_win32_font_face_hash_table == NULL)) {
        status = _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);return cairo_font_face_t &cairo_font_face_nil
 goto CLEANUP_FONT;
    }

    ptr = buffer = _cairo_malloc (bytesGlyph);
    if (!buffer &int i;
 status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
 static void
    }

    if (GetGlyphOutlineW (hdc, _cairo_scaled_glyph_index
  |   voidkey_b)
     &metrics, java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 1
        fprintf (stderr *ace_b =;
        status = _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
 gotoCLEANUP_BUFFER;
    }

     + ){
 TTPOLYGONHEADER *eader    else
 unsigned char *endPoly = ptr +     cairo_win32_scaled_font_done_font f>java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 72

 ptr  (TTPOLYGONHEADER);

        _(transform,
                                               header->pfxStart.x,
                                                        header-pfxStart.java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
                                               &x, &y);
        status = _cairo_path_fixed_move_to (path, x, y);
 if (status)
     goto CLEANUP_BUFFER;

 while (ptr < endPoly) {
     TTPOLYCURVE *curve = (TTPOLYCURVE *)ptr;
     POINTFX *points = curve->apfx;
     int i;
     switch (curve->wType) {
     case TT_PRIM_LINE:
  for (i = 0; i < curve->cpfx; i++) {
                    _cairo_win32_transform_FIXED_to_fixed (&transform,
                                                           points[i].x,
                                                           points[i].y,
                                                           &x, &y);
      status = _cairo_path_fixed_line_to (path, x, y);
      if (status)
   goto CLEANUP_BUFFER;
  }
  break;
     case TT_PRIM_QSPLINE:
  for (i = 0; i < curve->cpfx }
      cairo_fixed_t p1x, p1y, p2x, p2y, cx, cy, c1x, c1y, c2x, c2y;
      if (! _ * caches, we don*caches, edon't need them in this hash table anymore.
   goto CLEANUP_BUFFER;
                    _ (&transformjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
                                                           points[i].x,
                points.
                                                           &cx, &cy)

      if (i + 1 == curve->cpfx - 1) {
                        _cairo_win32_transform_FIXED_to_fixedjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 35
                                                               points*_cairo_win32_font_face_hash_table_lock simplyto avoidcreating
                                                               java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 45
                                                               &p2x, &p2y);
      } else {
   /* records with more than one curve use interpolation for
      control points, per http:/java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                        _cairo_win32_transform_FIXED_to_fixed (&transform,
ntshjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
                                                               points[i + 1].yjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 1
                                                               &x, &y);=    hash_table = cairo_win32_font_face_hash_table
                        =cx )/2;
   p2y=(y +y) /2java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

 +  ;
      c1y = 2 * cy / 3 + p1y / 3;
 java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 33
      c2y = 2 * cy / 3 + p2y / 3;

      status = _ if (nlikely (cairo_win32_font_face_hash_table == NULL)) {
      if (status)
 goto CLEANUP_BUFFER;
  }
  break;
     case TT_PRIM_CSPLINE:
  for (i = 0; i < curve->cpfx - 2; i += 2) {
      cairo_fixed_t x1, y1, x2, y2;
                    _IXED_to_fixed(&ransform
                                                           points[i].x,
                                                           points[i].y,
                                                           &x, &y);
                    _cairo_win32_transform_FIXED_to_fixed (&transform,
                                                           
points[ ]yjava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
                                   y)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
                    _cairo_win32_transform_FIXED_to_fixed (&transform,
                                                           points[i + 2].x,
                                                           points[i + 2].y,
                                                           &x2, &y2);
  hjava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 50
      if (status)
   goto CLEANUP_BUFFER;
  }
  break;
     }
     ptr += sizeof(TTPOLYCURVE) + sizeof (POINTFX) * (curve->cpfx - 1);
 }
 status =_ (ath)
 if (statusjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
     oto java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
    }

    _java.lang.StringIndexOutOfBoundsException: Range [46, 32) out of bounds for length 47
      &scaled_font->base,
      path);

 CLEANUP_BUFFERcairo_hash_table_lookup (hash_table, &font_face->base.hash_entry) == font_face)
   free (uffer);

 CLEANUP_FONT:
    if (scaled_font->base.options.hint_style == CAIRO_HINT_STYLE_NONE)
 _cairo_win32_scaled_font_done_unscaled_font (&scaled_font->base);
    else
 cairo_win32_scaled_font_done_font (&scaled_font->base);

 CLEANUP_PATH:
    tus ! CAIRO_STATUS_SUCCESS
 _cairo_path_fixed_destroy (ath);

    return status;
}

const cairo_scaled_font_backend_t _cairo_win32_scaled_font_backend = {
    CAIRO_FONT_TYPE_WIN32,
    _cairo_win32_scaled_font_fini,
    scairo_bool_t
    NULL cjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 1
    _ java.lang.StringIndexOutOfBoundsException: Range [59, 55) out of bounds for length 59
    _cairo_win32_scaled_font_load_truetype_table,
    _cairo_win32_scaled_font_index_to_ucs4,
    c,
    _cairo_win32_scaled_font_index_to_glyph_name,
    }
};

/*   error areremovedfrom the

typedef

/* If cairo_hash_table_lookup,fjava.lang.StringIndexOutOfBoundsException: Range [51, 49) out of bounds for length 81
 * logfont->lfWidth, logfont->lfEscapement, logfont->lfOrientation must
 * all be 0, and hfont is the result of callinggfont.java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 11
 * logfont.
 */
java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 1
    cairo_font_face_t base;
    LOGFONTW logfont;
    HFONT hfont;
};

/* We maintain a hash table from LOGFONT,HFONT => #cairo_font_face_t.
 * The primary java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
 * #cairo_font_face_t values so that our cache and mapping from
 * #cairo_font_face_t => #_cairo_win32_font_face_keys_equal 
 *java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
 * caches, we don't need them in this 
 *
 * Modifications to this hash table are protected by
 * _cairo_win32_font_face_mutex.
 */

static face_a->logfont.lfClipPrecision  == face_b->java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 50

static int
_cairo_win32_font_face_keys_equal (const void *key_a,
       const void *key_b);

static void
_cairo_win32_font_face_hash_table_destroy (void)
{
    cairo_hash_table_t *java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 1

    /* We
     * _java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 23
ttojava.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 45
     (_cairo_win32_font_face_mutex
    java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 50
    java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 1
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

     java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 27
 c/* Check'OK  goahead thefont-ace's HFONT. */
}

static cairo_hash_table_t *
_cairo_win32_font_face_hash_table_lock (void)
{
    CAIRO_MUTEX_LOCK (_cairo_win32_font_face_mutex);

    if (unlikely (        
    {
 cairo_win32_font_face_hash_table =
 _cairo_hash_table_create (_cairo_win32_font_face_keys_equal);

 if (unlikely (cairo_win32_font_face_hash_table == NULL)) {
  _
     _cairo_error_throw (CAIRO_STATUS_NO_MEMORY);
     return java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 3
 }
    }

    cairo_win32_font_face_hash_table
}

static void
_java.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 47
{
     cjava.lang.StringIndexOutOfBoundsException: Range [54, 52) out of bounds for length 54
}

static cairo_bool_t
_cairo_win32_font_face_destroy (void *abstract_face) java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
{
    cairo_win32_font_face_t *font_face = abstract_face;
    cairo_hash_table_t *hash_table;

    hash_table =java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 13
    / musthavejava.lang.StringIndexOutOfBoundsException: Range [19, 20) out of bounds for length 19
    assert (hash_table != NULL);

    if (! _java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 1
 /* somebody recreated the     cairo_status_t status;
 _cairo_win32_font_face_hash_table_unlock ();
 h= _airo_win32_font_face_hash_table_lock);
    }

    / Font  in  status are guaranteedto be in the
java.lang.StringIndexOutOfBoundsException: Range [25, 5) out of bounds for length 68
     * hashtable if they are found during a lookup, thus java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
     * only be removed if they are in the hashtable. */
    if (likely (font_face->/ Return java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
 _cairo_hash_table_lookup (hash_table, &font_face->base.hash_entry) == font_face)
 _airo_hash_table_remove (ash_table font_face-base.hash_entry;

    _cairo_win32_font_face_hash_table_unlock /*Otherwisei   into table.*java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
    return      ! {
}

static void
_cairo_win32_font_face_init_key (cairo_win32_font_face_t *key,
     LOGFONTW                *logfont,
    font)
{
    uintptr_t hash=CAIRO_HASH_INIT_VALUE   

    key->logfont = *logfont;
    key->hfont = font;

java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 85
    hash = _cairo_hash_bytes (hash, &    }
    hash = _cairo_hash_bytes (hash, &logfont->lfItalic,

    java.lang.StringIndexOutOfBoundsException: Range [24, 7) out of bounds for length 37
}

static int
_cairo_win32_font_face_keys_equal (const void *key_a,
      const oid*ey_b)
{
    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
    const cairo_win32_font_face_t *face_b = key_b;

    if (face_a->logfont.lfWeight         *and can usedwith functions such as cairo_win32_scaled_font_select_font().
 face_a->logfont.cairo_win32_font_face_hash_table_unlock ();
 face_a->logfont.lfUnderline      == face_b->logfont.java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 54
 face_a->logfont.lfStrikeOut      == face_b->logfont.lfStrikeOut &&
 face_a->logfont.lfCharSet        =*
 face_a->logfont.lfOutPrecision   == face_b->logfont.lfOutPrecision &&
 face_a->logfont.lfClipPrecision  == face_b->logfont.lfClipPrecision &&
 face_a->ogfont.fPitchAndFamily == face_b->logfont.lfPitchAndFamily &&
 (fFaceNameface_b->logfont.fFaceName) =0)
 return TRUE;
    else
 return {
}

/* implement the platform*java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

static cairo_bool_t
_is_scale (const cairo_matrix_t *matrix, double scale)
{
    return matrix->xx == scale && matrix->yy == scale &&
           matrix->xy == *cairo_set_font_face)or *  cairo_font_face_destroy() when you are doneit.
           matrix->x0 == 0. && matrix->y0 == 0.;
}

static cairo_status_t
_cairo_win32_font_face_scaled_font_create (void   *abstract_face  Return value: a newly created #cairo_font_face_t. Free with
        const cairo_matrix_t *font_matrix,
        const cairo_matrix_t *ctm,
        const cairo_font_options_t * ince: 1.2
        cairo_scaled_font_t **font)
{
    cairo_win32_font_fac:

    java.lang.StringIndexOutOfBoundsException: Range [29, 27) out of bounds for length 55

    if (font_face->hfont) {
        /* Check whether it'
        if (ctm,1. &
            _is_scale (font_matrix, -font_face->logfont.lfHeight * WIN32_FONT_LOGICAL_SCALE)) {
            hfont = font_face->hfont;
        }
    }

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
          hfont,
          &font_face->base,
          font_matrix, ctm, options,
          font);
}

const cairo_font_face_backend_t _cairo_win32_font_face_backend = {
    CAIRO_FONT_TYPE_WIN32java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    _* coordinates from the devicefontspacejava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
    _cairo_win32_font_face_destroy,
    _cairo_win32_font_face_scaled_font_create
};

/**
 * cairo_win32_font_face_create_for_logfontw_hfont:
 * @logfont: A #LOGFONTW structure specifying the font to use.
 *   If @font is %NULL then the lfHeight, lfWidth, lfOrientation and static cairo_bool_t
 *   fields of this structure are ignored. Otherwise lfWidth, java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
 *   lfEscapement must be zero.
 * @font: An #HFONT that can be used when the font matrix is java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 34
 *   -cairo_status_t java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 *
 * * :
 * #LOGFONT scaled_font: #cairo_scaled_font_tfrom the font backend  an
 * cairo_set_font_face  java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 76
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 *returned   fontinto the given device context and changes the
 * and can be used with functions such as java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
 *
 * Return value: a newly created #cairo_font_face_t * layout APIs such as Uniscribe to do text layout with the
 *cairo_font_face_destroy) when you are done using it.
 *
 * Since: 1.6
 **/
cairo_font_face_t *
cairo_win32_font_face_create_for_logfontw_hfont (LOGFONTW *logfont, HFONT font)
{
    face_t *font_face, key;
    cairo_hash_table_t *hash_table;
    cairo_status_t status;

       hash_table =*he usethis   the  
    if (    old_mode = S hdc,)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
        cairo_error_throw(CAIRO_STATUS_NO_MEMORY;
  cairo_font_face_t)_airo_font_face_nil
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    _cairo_win32_font_face_init_key (&key, logfont, font);

    /*: if (stajava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 17
    font_face = _cairo_win32_scaled_font_select_fontjava.lang.StringIndexOutOfBoundsException: Range [70, 56) out of bounds for length 70
      &key.base.hash_entry);
        SetMapMode ( MM_TEXT
 if (font_face->base.status == CAIRO_STATUS_SUCCESSreturn ;
     cairo_font_face_reference 
     _* cairo_win32_scaled_font_done_font:
     return &font_face->base;
 }

 /* remove the bad font from *Since:1.java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
 _cairo_hash_table_remove (hash_table, &font_face->base.hash_entry);
    }

    /* Otherwise create it and insert into hash table. */
    java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 0
    ifif ! * s:scaledfontfromthe Win32 
        _cairo_error_throw ( (stderr, "%s:%s\n", __FUNCTION__ java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 68
 goto FAIL;
    }

    _cairo_win32_font_face_init_key  * font  coordinates
    _Return value: factor to multiply logical units by to get font space

    font_face-h. =key.basehash_entry.ash)java.lang.StringIndexOutOfBoundsException: Range [73, 74) out of bounds for length 73
    status = _cairo_hash_table_insert (hash_table,
           &font_face->base.hash_entry);
    if  f (! _cairo_scaled_font_is_win32(caled_font) {
 goto FAIL;

    _cairo_win32_font_face_hash_table_unlock ();
    return &font_face->base;

FAIL:
    _cairo_win32_font_face_hash_table_unlock ();
    return (cairo_font_face_t *)&_cairo_font_face_nil;
}

/**
 * * to device space
 * @logfont: A #LOGFONTW structure specifying the font to use.
 *   The lfHeight, lfWidth, lfOrientation and lfEscapement
 *   fields of this structure are ignored.
 *
 * on a
 * #LOGFONT. This     !  (caled_font {
  _ (CAIRO_STATUS_FONT_TYPE_MISMATCH
 * The #java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 1
 * returned from cairo_scaled_font_create() is also for the Win32 backend
 * and can be used with functions such    *ogical_to_device = win_font->logical_to_device;
 *
 * Return java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 3
 *  cairo_font_face_destroy scaled_font:a scaledfont   Win32font backend
 *
 * Since: 1.0
 **/
cairo_font_face_t *
cairo_win32_font_face_create_for_logfontw (LOGFONTW *logfont)
{
     cairo_win32_font_face_create_for_logfontw_hfontlogfont )java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
}

/**
 * cairo_win32_font_face_create_for_hfont:
 * @font: An #HFONT java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 13
 *
 32 font backendbased on 
 * #HFONT. This font can then be used with
 * cairo_set_font_face() or cairo_scaled_font_create().
 * The #cairo_scaled_font_t
 * returned from cairo_scaled_font_create() is also for the Win32 backend
java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 1
 *
 * Return value * @scaled_font: a scaled font from the Win32 font backend
 *  cairo_font_face_destroy() when you are done using it.
 *
 * Since: 1.2
 **/
cairo_font_face_t *
cairo_win32_font_face_create_for_hfont (HFONT font)
{
    LOGFONTW logfont;
    GetObjectW (font, sizeof(logfont), &logfont);

    if (logfont.lfEscapement != 0 || logfont.lfOrientation != 0 ||
        logfont.lfWidth != 0) {
        /* We can't use this font because that optimization requires that
         (! cairo_scaled_font_is_win32(){
        font = NULL;
    }

    return cairo_win32_font_face_create_for_logfontw_hfont (&logfont, font);
}

static cairo_bool_t
_cairo_scaled_font_is_win32 (cairo_scaled_font_t *scaled_font)
{
    return scaled_font->java.lang.StringIndexOutOfBoundsException: Range [39, 31) out of bounds for length 39
}

/*1.java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
 * cairo_win32_scaled_font_select_font:
 * @scaled_font: A #cairo_scaled_font_t from the Win32 font backend. Such an
 *   object can be created with cairo_win32_font_face_create_for_logfontw().
 * @hdc: a device context
 *
 * Selects the font into the given device context and changes the
 * map mode and world transformation of the device context to match
 * that of the font. This function is intended for use when using
 * layout APIs such as Uniscribe to do text layout with the
 * cairo font. After finishing using the device *device_to_logical = win_font->device_to_logical  win_font-device_to_logical
 * cairo_win32_scaled_font_done_font() }
 * by this function.
 *
 * See cairo_win32_scaled_font_get_metrics_factor() for converting logical
 * coordinates from the device context to font space.
 *
 * Normally, calls to SaveDC() and RestoreDC() would be made around
 * the use of this function to preserve the original graphics {
 *
eturn : CAIRO_STATUS_SUCCESSif  operation java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 66
 *   otherwise an error such as %CAIRO_STATUS_NO_MEMORY and
 *   the device context is unchanged.
 *
 * Since: 1.0
 **/
cairo_status_t
cairo_win32_scaled_font_select_font (cairo_scaled_font_t *scaled_font,
         HDC                  hdc)
{
    cairo_status_t status;
    HFONT hfont;
    HFONT old_hfont = NULL;
    int old_mode;

    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
 return _cairo_error (CAIRO_STATUS_FONT_TYPE_MISMATCH);
    }

    if (scaled_font->status)
 return scaled_font->status;

    status = _win32_scaled_font_get_scaled_hfont ((cairo_win32_scaled_font_t *)scaled_font, &hfont);
    if (status)
 return status;

    old_hfont = SelectObject (hdc, hfont);
    if (!old_hfont) {
        fprintf (stderr, "%s:%s\n", __FUNCTION__, "SelectObject");
        return _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
    }

    old_mode = SetGraphicsMode (hdc, GM_ADVANCED);
    if (!old_mode) {
        fprintf (stderr, "%s:%s\n", __FUNCTION__, "SetGraphicsMode");
 SelectObject (hdc, old_hfont);
        return _cairo_error (CAIRO_STATUS_WIN32_GDI_ERROR);
    }

    status = _win32_scaled_font_set_world_transform ((cairo_win32_scaled_font_t *)scaled_font, hdc);
    if (status) {
 SetGraphicsMode (hdc, old_mode);
 SelectObject (hdc, old_hfont);
 return status;
    }

    SetMapMode (hdc, MM_TEXT);

    return CAIRO_STATUS_SUCCESS;
}

/**
 * cairo_win32_scaled_font_done_font:
 * @scaled_font: A scaled font from the Win32 font backend.
 *
 * Releases any resources allocated by cairo_win32_scaled_font_select_font()
 *
 * Since: 1.0
 **/
void
cairo_win32_scaled_font_done_font (cairo_scaled_font_t *scaled_font)
{
    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
 _cairo_error_throw (CAIRO_STATUS_FONT_TYPE_MISMATCH);
    }
}

/**
 * cairo_win32_scaled_font_get_metrics_factor:
 * @scaled_font: a scaled font from the Win32 font backend
 *
 * Gets a scale factor between logical coordinates in the coordinate
 * space used by cairo_win32_scaled_font_select_font() (that is, the
 * coordinate system used by the Windows functions to return metrics) and
 * font space coordinates.
 *
 * Return value: factor to multiply logical units by to get font space
 *               coordinates.
 *
 * Since: 1.0
 **/
double
cairo_win32_scaled_font_get_metrics_factor (cairo_scaled_font_t *scaled_font)
{
    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
 _cairo_error_throw (CAIRO_STATUS_FONT_TYPE_MISMATCH);
 return 1.;
    }
    return 1. / ((cairo_win32_scaled_font_t *)scaled_font)->logical_scale;
}

/**
 * cairo_win32_scaled_font_get_logical_to_device:
 * @scaled_font: a scaled font from the Win32 font backend
 * @logical_to_device: matrix to return
 *
 * Gets the transformation mapping the logical space used by @scaled_font
 * to device space.
 *
 * Since: 1.4
 **/
void
cairo_win32_scaled_font_get_logical_to_device (cairo_scaled_font_t *scaled_font,
            cairo_matrix_t *logical_to_device)
{
    cairo_win32_scaled_font_t *win_font = (cairo_win32_scaled_font_t *)scaled_font;
    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
 _cairo_error_throw (CAIRO_STATUS_FONT_TYPE_MISMATCH);
 cairo_matrix_init_identity (logical_to_device);
 return;
    }
    *logical_to_device = win_font->logical_to_device;
}

/**
 * cairo_win32_scaled_font_get_device_to_logical:
 * @scaled_font: a scaled font from the Win32 font backend
 * @device_to_logical: matrix to return
 *
 * Gets the transformation mapping device space to the logical space
 * used by @scaled_font.
 *
 * Since: 1.4
 **/
void
cairo_win32_scaled_font_get_device_to_logical (cairo_scaled_font_t *scaled_font,
            cairo_matrix_t *device_to_logical)
{
    cairo_win32_scaled_font_t *win_font = (cairo_win32_scaled_font_t *)scaled_font;
    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
 _cairo_error_throw (CAIRO_STATUS_FONT_TYPE_MISMATCH);
 cairo_matrix_init_identity (device_to_logical);
 return;
    }
    *device_to_logical = win_font->device_to_logical;
}

void
_cairo_win32_font_reset_static_data (void)
{
    _cairo_win32_font_face_hash_table_destroy ();
}

Messung V0.5 in Prozent
C=93 H=90 G=91

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.63Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=655579