< prev index next >

src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.h

Print this page

        

*** 1,21 **** ! /***************************************************************************/ ! /* */ ! /* ttinterp.h */ ! /* */ ! /* TrueType bytecode interpreter (specification). */ ! /* */ ! /* Copyright 1996-2018 by */ ! /* David Turner, Robert Wilhelm, and Werner Lemberg. */ ! /* */ ! /* This file is part of the FreeType project, and may only be used, */ ! /* modified, and distributed under the terms of the FreeType project */ ! /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ ! /* this file you indicate that you have read the license and */ ! /* understand and accept it fully. */ ! /* */ ! /***************************************************************************/ #ifndef TTINTERP_H_ #define TTINTERP_H_ --- 1,21 ---- ! /**************************************************************************** ! * ! * ttinterp.h ! * ! * TrueType bytecode interpreter (specification). ! * ! * Copyright (C) 1996-2019 by ! * David Turner, Robert Wilhelm, and Werner Lemberg. ! * ! * This file is part of the FreeType project, and may only be used, ! * modified, and distributed under the terms of the FreeType project ! * license, LICENSE.TXT. By continuing to use, modify, or distribute ! * this file you indicate that you have read the license and ! * understand and accept it fully. ! * ! */ #ifndef TTINTERP_H_ #define TTINTERP_H_
*** 24,54 **** FT_BEGIN_HEADER ! /*************************************************************************/ ! /* */ ! /* Rounding mode constants. */ ! /* */ #define TT_Round_Off 5 #define TT_Round_To_Half_Grid 0 #define TT_Round_To_Grid 1 #define TT_Round_To_Double_Grid 2 #define TT_Round_Up_To_Grid 4 #define TT_Round_Down_To_Grid 3 #define TT_Round_Super 6 #define TT_Round_Super_45 7 ! /*************************************************************************/ ! /* */ ! /* Function types used by the interpreter, depending on various modes */ ! /* (e.g. the rounding mode, whether to render a vertical or horizontal */ ! /* line etc). */ ! /* */ ! /*************************************************************************/ /* Rounding function */ typedef FT_F26Dot6 (*TT_Round_Func)( TT_ExecContext exc, FT_F26Dot6 distance, --- 24,54 ---- FT_BEGIN_HEADER ! /************************************************************************** ! * ! * Rounding mode constants. ! */ #define TT_Round_Off 5 #define TT_Round_To_Half_Grid 0 #define TT_Round_To_Grid 1 #define TT_Round_To_Double_Grid 2 #define TT_Round_Up_To_Grid 4 #define TT_Round_Down_To_Grid 3 #define TT_Round_Super 6 #define TT_Round_Super_45 7 ! /************************************************************************** ! * ! * Function types used by the interpreter, depending on various modes ! * (e.g. the rounding mode, whether to render a vertical or horizontal ! * line etc). ! * ! */ /* Rounding function */ typedef FT_F26Dot6 (*TT_Round_Func)( TT_ExecContext exc, FT_F26Dot6 distance,
*** 82,95 **** (*TT_Set_CVT_Func)( TT_ExecContext exc, FT_ULong idx, FT_F26Dot6 value ); ! /*************************************************************************/ ! /* */ ! /* This structure defines a call record, used to manage function calls. */ ! /* */ typedef struct TT_CallRec_ { FT_Int Caller_Range; FT_Long Caller_IP; FT_Long Cur_Count; --- 82,95 ---- (*TT_Set_CVT_Func)( TT_ExecContext exc, FT_ULong idx, FT_F26Dot6 value ); ! /************************************************************************** ! * ! * This structure defines a call record, used to manage function calls. ! */ typedef struct TT_CallRec_ { FT_Int Caller_Range; FT_Long Caller_IP; FT_Long Cur_Count;
*** 99,113 **** } TT_CallRec, *TT_CallStack; #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY ! /*************************************************************************/ ! /* */ ! /* These structures define rules used to tweak subpixel hinting for */ ! /* various fonts. "", 0, "", NULL value indicates to match any value. */ ! /* */ #define SPH_MAX_NAME_SIZE 32 #define SPH_MAX_CLASS_MEMBERS 100 typedef struct SPH_TweakRule_ --- 99,113 ---- } TT_CallRec, *TT_CallStack; #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY ! /************************************************************************** ! * ! * These structures define rules used to tweak subpixel hinting for ! * various fonts. "", 0, "", NULL value indicates to match any value. ! */ #define SPH_MAX_NAME_SIZE 32 #define SPH_MAX_CLASS_MEMBERS 100 typedef struct SPH_TweakRule_
*** 139,153 **** } SPH_Font_Class; #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ ! /*************************************************************************/ ! /* */ ! /* The main structure for the interpreter which collects all necessary */ ! /* variables and states. */ ! /* */ typedef struct TT_ExecContextRec_ { TT_Face face; TT_Size size; FT_Memory memory; --- 139,153 ---- } SPH_Font_Class; #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ ! /************************************************************************** ! * ! * The main structure for the interpreter which collects all necessary ! * variables and states. ! */ typedef struct TT_ExecContextRec_ { TT_Face face; TT_Size size; FT_Memory memory;
*** 350,360 **** * * [2] Proposed by Microsoft's Greg Hitchcock in * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx * * [3] Beat Stamm describes it in more detail: ! * http://www.beatstamm.com/typography/RTRCh4.htm#Sec12 * * [4] The list of `native ClearType' fonts is small at the time of this * writing; I found the following on a Windows 10 Update 1511 * installation: Constantia, Corbel, Sitka, Malgun Gothic, Microsoft * JhengHei (Bold and UI Bold), Microsoft YaHei (Bold and UI Bold), --- 350,360 ---- * * [2] Proposed by Microsoft's Greg Hitchcock in * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx * * [3] Beat Stamm describes it in more detail: ! * http://rastertragedy.com/RTRCh4.htm#Sec12. * * [4] The list of `native ClearType' fonts is small at the time of this * writing; I found the following on a Windows 10 Update 1511 * installation: Constantia, Corbel, Sitka, Malgun Gothic, Microsoft * JhengHei (Bold and UI Bold), Microsoft YaHei (Bold and UI Bold),
*** 462,491 **** void* _pbuff, FT_ULong new_max ); #endif /* TT_USE_BYTECODE_INTERPRETER */ ! /*************************************************************************/ ! /* */ ! /* <Function> */ ! /* TT_New_Context */ ! /* */ ! /* <Description> */ ! /* Queries the face context for a given font. Note that there is */ ! /* now a _single_ execution context in the TrueType driver which is */ ! /* shared among faces. */ ! /* */ ! /* <Input> */ ! /* face :: A handle to the source face object. */ ! /* */ ! /* <Return> */ ! /* A handle to the execution context. Initialized for `face'. */ ! /* */ ! /* <Note> */ ! /* Only the glyph loader and debugger should call this function. */ ! /* (And right now only the glyph loader uses it.) */ ! /* */ FT_EXPORT( TT_ExecContext ) TT_New_Context( TT_Driver driver ); #ifdef TT_USE_BYTECODE_INTERPRETER --- 462,492 ---- void* _pbuff, FT_ULong new_max ); #endif /* TT_USE_BYTECODE_INTERPRETER */ ! /************************************************************************** ! * ! * @Function: ! * TT_New_Context ! * ! * @Description: ! * Queries the face context for a given font. Note that there is ! * now a _single_ execution context in the TrueType driver which is ! * shared among faces. ! * ! * @Input: ! * face :: ! * A handle to the source face object. ! * ! * @Return: ! * A handle to the execution context. Initialized for `face'. ! * ! * @Note: ! * Only the glyph loader and debugger should call this function. ! * (And right now only the glyph loader uses it.) ! */ FT_EXPORT( TT_ExecContext ) TT_New_Context( TT_Driver driver ); #ifdef TT_USE_BYTECODE_INTERPRETER
*** 504,534 **** FT_LOCAL( FT_Error ) TT_Run_Context( TT_ExecContext exec ); #endif /* TT_USE_BYTECODE_INTERPRETER */ ! /*************************************************************************/ ! /* */ ! /* <Function> */ ! /* TT_RunIns */ ! /* */ ! /* <Description> */ ! /* Executes one or more instruction in the execution context. This */ ! /* is the main function of the TrueType opcode interpreter. */ ! /* */ ! /* <Input> */ ! /* exec :: A handle to the target execution context. */ ! /* */ ! /* <Return> */ ! /* FreeType error code. 0 means success. */ ! /* */ ! /* <Note> */ ! /* Only the object manager and debugger should call this function. */ ! /* */ ! /* This function is publicly exported because it is directly */ ! /* invoked by the TrueType debugger. */ ! /* */ FT_EXPORT( FT_Error ) TT_RunIns( TT_ExecContext exec ); FT_END_HEADER --- 505,536 ---- FT_LOCAL( FT_Error ) TT_Run_Context( TT_ExecContext exec ); #endif /* TT_USE_BYTECODE_INTERPRETER */ ! /************************************************************************** ! * ! * @Function: ! * TT_RunIns ! * ! * @Description: ! * Executes one or more instruction in the execution context. This ! * is the main function of the TrueType opcode interpreter. ! * ! * @Input: ! * exec :: ! * A handle to the target execution context. ! * ! * @Return: ! * FreeType error code. 0 means success. ! * ! * @Note: ! * Only the object manager and debugger should call this function. ! * ! * This function is publicly exported because it is directly ! * invoked by the TrueType debugger. ! */ FT_EXPORT( FT_Error ) TT_RunIns( TT_ExecContext exec ); FT_END_HEADER
< prev index next >