[GSoC] src/*.*: Convert block comments to `light' style.
This monster commit was created by applying Nikhil's scripts `docconverter.py' and `markify.py' to all C header and source files, followed up by minor manual clean-up. No change in functionality, of course. I used commit f7419907bc6044b9b7057f9789866426c804ba82 from https://github.com/nikramakrishnan/freetype-docs.git.
This commit is contained in:
parent
ae24803410
commit
9ac9060df0
|
@ -1,20 +1,20 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afangles.c */
|
||||
/* */
|
||||
/* Routines used to compute vector angles with limited accuracy */
|
||||
/* and very high speed. It also contains sorting routines (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afangles.c
|
||||
*
|
||||
* Routines used to compute vector angles with limited accuracy
|
||||
* and very high speed. It also contains sorting routines (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "aftypes.h"
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
/* This file has been generated by the Perl script `afblue.pl', */
|
||||
/* using data from file `afblue.dat'. */
|
||||
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* afblue.c */
|
||||
/* */
|
||||
/* Auto-fitter data for blue strings (body). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afblue.c
|
||||
*
|
||||
* Auto-fitter data for blue strings (body).
|
||||
*
|
||||
* Copyright 2013-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "aftypes.h"
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afblue.c */
|
||||
/* */
|
||||
/* Auto-fitter data for blue strings (body). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afblue.c
|
||||
*
|
||||
* Auto-fitter data for blue strings (body).
|
||||
*
|
||||
* Copyright 2013-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "aftypes.h"
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
/* This file has been generated by the Perl script `afblue.pl', */
|
||||
/* using data from file `afblue.dat'. */
|
||||
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* afblue.h */
|
||||
/* */
|
||||
/* Auto-fitter data for blue strings (specification). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afblue.h
|
||||
*
|
||||
* Auto-fitter data for blue strings (specification).
|
||||
*
|
||||
* Copyright 2013-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 AFBLUE_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afblue.h */
|
||||
/* */
|
||||
/* Auto-fitter data for blue strings (specification). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afblue.h
|
||||
*
|
||||
* Auto-fitter data for blue strings (specification).
|
||||
*
|
||||
* Copyright 2013-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 AFBLUE_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afcjk.c */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines for CJK writing system (body). */
|
||||
/* */
|
||||
/* Copyright 2006-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afcjk.c
|
||||
*
|
||||
* Auto-fitter hinting routines for CJK writing system (body).
|
||||
*
|
||||
* Copyright 2006-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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* The algorithm is based on akito's autohint patch, archived at
|
||||
|
@ -43,12 +43,12 @@
|
|||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_afcjk
|
||||
|
||||
|
@ -1024,21 +1024,21 @@
|
|||
scale = ( dim == AF_DIMENSION_HORZ ) ? hints->x_scale
|
||||
: hints->y_scale;
|
||||
|
||||
/*********************************************************************/
|
||||
/* */
|
||||
/* We begin by generating a sorted table of edges for the current */
|
||||
/* direction. To do so, we simply scan each segment and try to find */
|
||||
/* an edge in our table that corresponds to its position. */
|
||||
/* */
|
||||
/* If no edge is found, we create and insert a new edge in the */
|
||||
/* sorted table. Otherwise, we simply add the segment to the edge's */
|
||||
/* list which is then processed in the second step to compute the */
|
||||
/* edge's properties. */
|
||||
/* */
|
||||
/* Note that the edges table is sorted along the segment/edge */
|
||||
/* position. */
|
||||
/* */
|
||||
/*********************************************************************/
|
||||
/**********************************************************************
|
||||
*
|
||||
* We begin by generating a sorted table of edges for the current
|
||||
* direction. To do so, we simply scan each segment and try to find
|
||||
* an edge in our table that corresponds to its position.
|
||||
*
|
||||
* If no edge is found, we create and insert a new edge in the
|
||||
* sorted table. Otherwise, we simply add the segment to the edge's
|
||||
* list which is then processed in the second step to compute the
|
||||
* edge's properties.
|
||||
*
|
||||
* Note that the edges table is sorted along the segment/edge
|
||||
* position.
|
||||
*
|
||||
*/
|
||||
|
||||
edge_distance_threshold = FT_MulFix( laxis->edge_distance_threshold,
|
||||
scale );
|
||||
|
@ -1138,17 +1138,17 @@
|
|||
}
|
||||
}
|
||||
|
||||
/******************************************************************/
|
||||
/* */
|
||||
/* Good, we now compute each edge's properties according to the */
|
||||
/* segments found on its position. Basically, these are */
|
||||
/* */
|
||||
/* - the edge's main direction */
|
||||
/* - stem edge, serif edge or both (which defaults to stem then) */
|
||||
/* - rounded edge, straight or both (which defaults to straight) */
|
||||
/* - link for edge */
|
||||
/* */
|
||||
/******************************************************************/
|
||||
/*******************************************************************
|
||||
*
|
||||
* Good, we now compute each edge's properties according to the
|
||||
* segments found on its position. Basically, these are
|
||||
*
|
||||
* - the edge's main direction
|
||||
* - stem edge, serif edge or both (which defaults to stem then)
|
||||
* - rounded edge, straight or both (which defaults to straight)
|
||||
* - link for edge
|
||||
*
|
||||
*/
|
||||
|
||||
/* first of all, set the `edge' field in each segment -- this is */
|
||||
/* required in order to compute edge links */
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afcjk.h */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines for CJK writing system (specification). */
|
||||
/* */
|
||||
/* Copyright 2006-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afcjk.h
|
||||
*
|
||||
* Auto-fitter hinting routines for CJK writing system (specification).
|
||||
*
|
||||
* Copyright 2006-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 AFCJK_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afcover.h */
|
||||
/* */
|
||||
/* Auto-fitter coverages (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afcover.h
|
||||
*
|
||||
* Auto-fitter coverages (specification only).
|
||||
*
|
||||
* Copyright 2013-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* This header file can be included multiple times. */
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afdummy.c */
|
||||
/* */
|
||||
/* Auto-fitter dummy routines to be used if no hinting should be */
|
||||
/* performed (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afdummy.c
|
||||
*
|
||||
* Auto-fitter dummy routines to be used if no hinting should be
|
||||
* performed (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "afdummy.h"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afdummy.h */
|
||||
/* */
|
||||
/* Auto-fitter dummy routines to be used if no hinting should be */
|
||||
/* performed (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afdummy.h
|
||||
*
|
||||
* Auto-fitter dummy routines to be used if no hinting should be
|
||||
* performed (specification).
|
||||
*
|
||||
* Copyright 2003-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 AFDUMMY_H_
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* aferrors.h */
|
||||
/* */
|
||||
/* Autofitter error codes (specification only). */
|
||||
/* */
|
||||
/* Copyright 2005-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* aferrors.h
|
||||
*
|
||||
* Autofitter error codes (specification only).
|
||||
*
|
||||
* Copyright 2005-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This file is used to define the Autofitter error enumeration */
|
||||
/* constants. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This file is used to define the Autofitter error enumeration
|
||||
* constants.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AFERRORS_H_
|
||||
#define AFERRORS_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afglobal.c */
|
||||
/* */
|
||||
/* Auto-fitter routines to compute global hinting values (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afglobal.c
|
||||
*
|
||||
* Auto-fitter routines to compute global hinting values (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "afglobal.h"
|
||||
|
@ -22,12 +22,12 @@
|
|||
#include FT_INTERNAL_DEBUG_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_afglobal
|
||||
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afglobal.h */
|
||||
/* */
|
||||
/* Auto-fitter routines to compute global hinting values */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afglobal.h
|
||||
*
|
||||
* Auto-fitter routines to compute global hinting values
|
||||
* (specification).
|
||||
*
|
||||
* Copyright 2003-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 AFGLOBAL_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afhints.c */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afhints.c
|
||||
*
|
||||
* Auto-fitter hinting routines (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "afhints.h"
|
||||
|
@ -22,12 +22,12 @@
|
|||
#include FT_INTERNAL_DEBUG_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_afhints
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afhints.h */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afhints.h
|
||||
*
|
||||
* Auto-fitter hinting routines (specification).
|
||||
*
|
||||
* Copyright 2003-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 AFHINTS_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afindic.c */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines for Indic writing system (body). */
|
||||
/* */
|
||||
/* Copyright 2007-2018 by */
|
||||
/* Rahul Bhalerao <rahul.bhalerao@redhat.com>, <b.rahul.pm@gmail.com>. */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afindic.c
|
||||
*
|
||||
* Auto-fitter hinting routines for Indic writing system (body).
|
||||
*
|
||||
* Copyright 2007-2018 by
|
||||
* Rahul Bhalerao <rahul.bhalerao@redhat.com>, <b.rahul.pm@gmail.com>.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "aftypes.h"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afindic.h */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines for Indic writing system */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 2007-2018 by */
|
||||
/* Rahul Bhalerao <rahul.bhalerao@redhat.com>, <b.rahul.pm@gmail.com>. */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afindic.h
|
||||
*
|
||||
* Auto-fitter hinting routines for Indic writing system
|
||||
* (specification).
|
||||
*
|
||||
* Copyright 2007-2018 by
|
||||
* Rahul Bhalerao <rahul.bhalerao@redhat.com>, <b.rahul.pm@gmail.com>.
|
||||
*
|
||||
* 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 AFINDIC_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* aflatin.c */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines for latin writing system (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* aflatin.c
|
||||
*
|
||||
* Auto-fitter hinting routines for latin writing system (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -30,12 +30,12 @@
|
|||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_aflatin
|
||||
|
||||
|
@ -1995,10 +1995,10 @@
|
|||
* `badness' of a fit, measured along the segments' main axis
|
||||
* and orthogonal to it, respectively.
|
||||
*
|
||||
* o The less overlapping along the main axis, the worse it
|
||||
* - The less overlapping along the main axis, the worse it
|
||||
* is, causing a larger demerit.
|
||||
*
|
||||
* o The nearer the orthogonal distance to a stem width, the
|
||||
* - The nearer the orthogonal distance to a stem width, the
|
||||
* better it is, causing a smaller demerit. For simplicity,
|
||||
* however, we only increase the demerit for values that
|
||||
* exceed the largest stem width.
|
||||
|
@ -2120,21 +2120,21 @@
|
|||
*/
|
||||
segment_width_threshold = FT_DivFix( 32, scale );
|
||||
|
||||
/*********************************************************************/
|
||||
/* */
|
||||
/* We begin by generating a sorted table of edges for the current */
|
||||
/* direction. To do so, we simply scan each segment and try to find */
|
||||
/* an edge in our table that corresponds to its position. */
|
||||
/* */
|
||||
/* If no edge is found, we create and insert a new edge in the */
|
||||
/* sorted table. Otherwise, we simply add the segment to the edge's */
|
||||
/* list which gets processed in the second step to compute the */
|
||||
/* edge's properties. */
|
||||
/* */
|
||||
/* Note that the table of edges is sorted along the segment/edge */
|
||||
/* position. */
|
||||
/* */
|
||||
/*********************************************************************/
|
||||
/**********************************************************************
|
||||
*
|
||||
* We begin by generating a sorted table of edges for the current
|
||||
* direction. To do so, we simply scan each segment and try to find
|
||||
* an edge in our table that corresponds to its position.
|
||||
*
|
||||
* If no edge is found, we create and insert a new edge in the
|
||||
* sorted table. Otherwise, we simply add the segment to the edge's
|
||||
* list which gets processed in the second step to compute the
|
||||
* edge's properties.
|
||||
*
|
||||
* Note that the table of edges is sorted along the segment/edge
|
||||
* position.
|
||||
*
|
||||
*/
|
||||
|
||||
/* assure that edge distance threshold is at most 0.25px */
|
||||
edge_distance_threshold = FT_MulFix( laxis->edge_distance_threshold,
|
||||
|
@ -2256,17 +2256,17 @@
|
|||
}
|
||||
|
||||
|
||||
/******************************************************************/
|
||||
/* */
|
||||
/* Good, we now compute each edge's properties according to the */
|
||||
/* segments found on its position. Basically, these are */
|
||||
/* */
|
||||
/* - the edge's main direction */
|
||||
/* - stem edge, serif edge or both (which defaults to stem then) */
|
||||
/* - rounded edge, straight or both (which defaults to straight) */
|
||||
/* - link for edge */
|
||||
/* */
|
||||
/******************************************************************/
|
||||
/*******************************************************************
|
||||
*
|
||||
* Good, we now compute each edge's properties according to the
|
||||
* segments found on its position. Basically, these are
|
||||
*
|
||||
* - the edge's main direction
|
||||
* - stem edge, serif edge or both (which defaults to stem then)
|
||||
* - rounded edge, straight or both (which defaults to straight)
|
||||
* - link for edge
|
||||
*
|
||||
*/
|
||||
|
||||
/* first of all, set the `edge' field in each segment -- this is */
|
||||
/* required in order to compute edge links */
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* aflatin.h */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines for latin writing system */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* aflatin.h
|
||||
*
|
||||
* Auto-fitter hinting routines for latin writing system
|
||||
* (specification).
|
||||
*
|
||||
* Copyright 2003-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 AFLATIN_H_
|
||||
|
|
|
@ -3,22 +3,22 @@
|
|||
/* marked as experimental. */
|
||||
|
||||
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* aflatin2.c */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines for latin writing system (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* aflatin2.c
|
||||
*
|
||||
* Auto-fitter hinting routines for latin writing system (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include FT_ADVANCES_H
|
||||
|
@ -37,12 +37,12 @@
|
|||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_aflatin2
|
||||
|
||||
|
@ -1126,21 +1126,21 @@
|
|||
else
|
||||
segment_length_threshold = 0;
|
||||
|
||||
/*********************************************************************/
|
||||
/* */
|
||||
/* We will begin by generating a sorted table of edges for the */
|
||||
/* current direction. To do so, we simply scan each segment and try */
|
||||
/* to find an edge in our table that corresponds to its position. */
|
||||
/* */
|
||||
/* If no edge is found, we create and insert a new edge in the */
|
||||
/* sorted table. Otherwise, we simply add the segment to the edge's */
|
||||
/* list which will be processed in the second step to compute the */
|
||||
/* edge's properties. */
|
||||
/* */
|
||||
/* Note that the edges table is sorted along the segment/edge */
|
||||
/* position. */
|
||||
/* */
|
||||
/*********************************************************************/
|
||||
/**********************************************************************
|
||||
*
|
||||
* We will begin by generating a sorted table of edges for the
|
||||
* current direction. To do so, we simply scan each segment and try
|
||||
* to find an edge in our table that corresponds to its position.
|
||||
*
|
||||
* If no edge is found, we create and insert a new edge in the
|
||||
* sorted table. Otherwise, we simply add the segment to the edge's
|
||||
* list which will be processed in the second step to compute the
|
||||
* edge's properties.
|
||||
*
|
||||
* Note that the edges table is sorted along the segment/edge
|
||||
* position.
|
||||
*
|
||||
*/
|
||||
|
||||
edge_distance_threshold = FT_MulFix( laxis->edge_distance_threshold,
|
||||
scale );
|
||||
|
@ -1230,17 +1230,17 @@
|
|||
}
|
||||
|
||||
|
||||
/*********************************************************************/
|
||||
/* */
|
||||
/* Good, we will now compute each edge's properties according to */
|
||||
/* segments found on its position. Basically, these are: */
|
||||
/* */
|
||||
/* - edge's main direction */
|
||||
/* - stem edge, serif edge or both (which defaults to stem then) */
|
||||
/* - rounded edge, straight or both (which defaults to straight) */
|
||||
/* - link for edge */
|
||||
/* */
|
||||
/*********************************************************************/
|
||||
/**********************************************************************
|
||||
*
|
||||
* Good, we will now compute each edge's properties according to
|
||||
* segments found on its position. Basically, these are:
|
||||
*
|
||||
* - edge's main direction
|
||||
* - stem edge, serif edge or both (which defaults to stem then)
|
||||
* - rounded edge, straight or both (which defaults to straight)
|
||||
* - link for edge
|
||||
*
|
||||
*/
|
||||
|
||||
/* first of all, set the `edge' field in each segment -- this is */
|
||||
/* required in order to compute edge links */
|
||||
|
|
|
@ -3,23 +3,23 @@
|
|||
/* marked as experimental. */
|
||||
|
||||
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* aflatin2.h */
|
||||
/* */
|
||||
/* Auto-fitter hinting routines for latin writing system */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* aflatin2.h
|
||||
*
|
||||
* Auto-fitter hinting routines for latin writing system
|
||||
* (specification).
|
||||
*
|
||||
* Copyright 2003-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 AFLATIN2_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afloader.c */
|
||||
/* */
|
||||
/* Auto-fitter glyph loading routines (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afloader.c
|
||||
*
|
||||
* Auto-fitter glyph loading routines (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "afglobal.h"
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afloader.h */
|
||||
/* */
|
||||
/* Auto-fitter glyph loading routines (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afloader.h
|
||||
*
|
||||
* Auto-fitter glyph loading routines (specification).
|
||||
*
|
||||
* Copyright 2003-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 AFLOADER_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afmodule.c */
|
||||
/* */
|
||||
/* Auto-fitter module implementation (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afmodule.c
|
||||
*
|
||||
* Auto-fitter module implementation (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "afglobal.h"
|
||||
|
@ -59,12 +59,12 @@
|
|||
#include FT_SERVICE_PROPERTIES_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_afmodule
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afmodule.h */
|
||||
/* */
|
||||
/* Auto-fitter module implementation (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afmodule.h
|
||||
*
|
||||
* Auto-fitter module implementation (specification).
|
||||
*
|
||||
* Copyright 2003-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 AFMODULE_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afranges.c */
|
||||
/* */
|
||||
/* Auto-fitter Unicode script ranges (body). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afranges.c
|
||||
*
|
||||
* Auto-fitter Unicode script ranges (body).
|
||||
*
|
||||
* Copyright 2013-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "afranges.h"
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afranges.h */
|
||||
/* */
|
||||
/* Auto-fitter Unicode script ranges (specification). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afranges.h
|
||||
*
|
||||
* Auto-fitter Unicode script ranges (specification).
|
||||
*
|
||||
* Copyright 2013-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 AFRANGES_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afscript.h */
|
||||
/* */
|
||||
/* Auto-fitter scripts (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afscript.h
|
||||
*
|
||||
* Auto-fitter scripts (specification only).
|
||||
*
|
||||
* Copyright 2013-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* The following part can be included multiple times. */
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afshaper.c */
|
||||
/* */
|
||||
/* HarfBuzz interface for accessing OpenType features (body). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afshaper.c
|
||||
*
|
||||
* HarfBuzz interface for accessing OpenType features (body).
|
||||
*
|
||||
* Copyright 2013-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -26,12 +26,12 @@
|
|||
#ifdef FT_CONFIG_OPTION_USE_HARFBUZZ
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_afshaper
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afshaper.h */
|
||||
/* */
|
||||
/* HarfBuzz interface for accessing OpenType features (specification). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afshaper.h
|
||||
*
|
||||
* HarfBuzz interface for accessing OpenType features (specification).
|
||||
*
|
||||
* Copyright 2013-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 AFSHAPER_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afstyles.h */
|
||||
/* */
|
||||
/* Auto-fitter styles (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afstyles.h
|
||||
*
|
||||
* Auto-fitter styles (specification only).
|
||||
*
|
||||
* Copyright 2013-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* The following part can be included multiple times. */
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* aftypes.h */
|
||||
/* */
|
||||
/* Auto-fitter types (specification only). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* aftypes.h
|
||||
*
|
||||
* Auto-fitter types (specification only).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -150,7 +150,8 @@ extern void* _af_debug_hints;
|
|||
FT_END_STMNT
|
||||
|
||||
|
||||
/* opaque handle to glyph-specific hints -- see `afhints.h' for more
|
||||
/*
|
||||
* opaque handle to glyph-specific hints -- see `afhints.h' for more
|
||||
* details
|
||||
*/
|
||||
typedef struct AF_GlyphHintsRec_* AF_GlyphHints;
|
||||
|
@ -197,7 +198,8 @@ extern void* _af_debug_hints;
|
|||
|
||||
typedef struct AF_StyleMetricsRec_* AF_StyleMetrics;
|
||||
|
||||
/* This function parses an FT_Face to compute global metrics for
|
||||
/*
|
||||
* This function parses an FT_Face to compute global metrics for
|
||||
* a specific style.
|
||||
*/
|
||||
typedef FT_Error
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afwarp.c */
|
||||
/* */
|
||||
/* Auto-fitter warping algorithm (body). */
|
||||
/* */
|
||||
/* Copyright 2006-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afwarp.c
|
||||
*
|
||||
* Auto-fitter warping algorithm (body).
|
||||
*
|
||||
* Copyright 2006-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
|
@ -27,12 +27,12 @@
|
|||
|
||||
#ifdef AF_CONFIG_OPTION_USE_WARPER
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_afwarp
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afwarp.h */
|
||||
/* */
|
||||
/* Auto-fitter warping algorithm (specification). */
|
||||
/* */
|
||||
/* Copyright 2006-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afwarp.h
|
||||
*
|
||||
* Auto-fitter warping algorithm (specification).
|
||||
*
|
||||
* Copyright 2006-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 AFWARP_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* afwrtsys.h */
|
||||
/* */
|
||||
/* Auto-fitter writing systems (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* afwrtsys.h
|
||||
*
|
||||
* Auto-fitter writing systems (specification only).
|
||||
*
|
||||
* Copyright 2013-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 AFWRTSYS_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* autofit.c */
|
||||
/* */
|
||||
/* Auto-fitter module (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* autofit.c
|
||||
*
|
||||
* Auto-fitter module (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#define FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftadvanc.c */
|
||||
/* */
|
||||
/* Quick computation of advance widths (body). */
|
||||
/* */
|
||||
/* Copyright 2008-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftadvanc.c
|
||||
*
|
||||
* Quick computation of advance widths (body).
|
||||
*
|
||||
* Copyright 2008-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftapi.c */
|
||||
/* */
|
||||
/* The FreeType compatibility functions (body). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftapi.c
|
||||
*
|
||||
* The FreeType compatibility functions (body).
|
||||
*
|
||||
* Copyright 2002-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftbase.c */
|
||||
/* */
|
||||
/* Single object library component (body only). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftbase.c
|
||||
*
|
||||
* Single object library component (body only).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftbase.h */
|
||||
/* */
|
||||
/* Private functions used in the `base' module (specification). */
|
||||
/* */
|
||||
/* Copyright 2008-2018 by */
|
||||
/* David Turner, Robert Wilhelm, Werner Lemberg, and suzuki toshiya. */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftbase.h
|
||||
*
|
||||
* Private functions used in the `base' module (specification).
|
||||
*
|
||||
* Copyright 2008-2018 by
|
||||
* David Turner, Robert Wilhelm, Werner Lemberg, and suzuki toshiya.
|
||||
*
|
||||
* 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 FTBASE_H_
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftbbox.c */
|
||||
/* */
|
||||
/* FreeType bbox computation (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftbbox.c
|
||||
*
|
||||
* FreeType bbox computation (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This component has a _single_ role: to compute exact outline bounding */
|
||||
/* boxes. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This component has a _single_ role: to compute exact outline bounding
|
||||
* boxes.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -61,26 +61,28 @@
|
|||
( p->y < bbox.yMin || p->y > bbox.yMax )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* BBox_Move_To */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This function is used as a `move_to' emitter during */
|
||||
/* FT_Outline_Decompose(). It simply records the destination point */
|
||||
/* in `user->last'. We also update bbox in case contour starts with */
|
||||
/* an implicit `on' point. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* to :: A pointer to the destination vector. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* user :: A pointer to the current walk context. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* Always 0. Needed for the interface only. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* BBox_Move_To
|
||||
*
|
||||
* @Description:
|
||||
* This function is used as a `move_to' emitter during
|
||||
* FT_Outline_Decompose(). It simply records the destination point
|
||||
* in `user->last'. We also update bbox in case contour starts with
|
||||
* an implicit `on' point.
|
||||
*
|
||||
* @Input:
|
||||
* to ::
|
||||
* A pointer to the destination vector.
|
||||
*
|
||||
* @InOut:
|
||||
* user ::
|
||||
* A pointer to the current walk context.
|
||||
*
|
||||
* @Return:
|
||||
* Always 0. Needed for the interface only.
|
||||
*/
|
||||
static int
|
||||
BBox_Move_To( FT_Vector* to,
|
||||
TBBox_Rec* user )
|
||||
|
@ -93,26 +95,28 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* BBox_Line_To */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This function is used as a `line_to' emitter during */
|
||||
/* FT_Outline_Decompose(). It simply records the destination point */
|
||||
/* in `user->last'; no further computations are necessary because */
|
||||
/* bbox already contains both explicit ends of the line segment. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* to :: A pointer to the destination vector. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* user :: A pointer to the current walk context. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* Always 0. Needed for the interface only. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* BBox_Line_To
|
||||
*
|
||||
* @Description:
|
||||
* This function is used as a `line_to' emitter during
|
||||
* FT_Outline_Decompose(). It simply records the destination point
|
||||
* in `user->last'; no further computations are necessary because
|
||||
* bbox already contains both explicit ends of the line segment.
|
||||
*
|
||||
* @Input:
|
||||
* to ::
|
||||
* A pointer to the destination vector.
|
||||
*
|
||||
* @InOut:
|
||||
* user ::
|
||||
* A pointer to the current walk context.
|
||||
*
|
||||
* @Return:
|
||||
* Always 0. Needed for the interface only.
|
||||
*/
|
||||
static int
|
||||
BBox_Line_To( FT_Vector* to,
|
||||
TBBox_Rec* user )
|
||||
|
@ -123,28 +127,33 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* BBox_Conic_Check */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Find the extrema of a 1-dimensional conic Bezier curve and update */
|
||||
/* a bounding range. This version uses direct computation, as it */
|
||||
/* doesn't need square roots. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* y1 :: The start coordinate. */
|
||||
/* */
|
||||
/* y2 :: The coordinate of the control point. */
|
||||
/* */
|
||||
/* y3 :: The end coordinate. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* min :: The address of the current minimum. */
|
||||
/* */
|
||||
/* max :: The address of the current maximum. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* BBox_Conic_Check
|
||||
*
|
||||
* @Description:
|
||||
* Find the extrema of a 1-dimensional conic Bezier curve and update
|
||||
* a bounding range. This version uses direct computation, as it
|
||||
* doesn't need square roots.
|
||||
*
|
||||
* @Input:
|
||||
* y1 ::
|
||||
* The start coordinate.
|
||||
*
|
||||
* y2 ::
|
||||
* The coordinate of the control point.
|
||||
*
|
||||
* y3 ::
|
||||
* The end coordinate.
|
||||
*
|
||||
* @InOut:
|
||||
* min ::
|
||||
* The address of the current minimum.
|
||||
*
|
||||
* max ::
|
||||
* The address of the current maximum.
|
||||
*/
|
||||
static void
|
||||
BBox_Conic_Check( FT_Pos y1,
|
||||
FT_Pos y2,
|
||||
|
@ -168,32 +177,35 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* BBox_Conic_To */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This function is used as a `conic_to' emitter during */
|
||||
/* FT_Outline_Decompose(). It checks a conic Bezier curve with the */
|
||||
/* current bounding box, and computes its extrema if necessary to */
|
||||
/* update it. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* control :: A pointer to a control point. */
|
||||
/* */
|
||||
/* to :: A pointer to the destination vector. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* user :: The address of the current walk context. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* Always 0. Needed for the interface only. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* In the case of a non-monotonous arc, we compute directly the */
|
||||
/* extremum coordinates, as it is sufficiently fast. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* BBox_Conic_To
|
||||
*
|
||||
* @Description:
|
||||
* This function is used as a `conic_to' emitter during
|
||||
* FT_Outline_Decompose(). It checks a conic Bezier curve with the
|
||||
* current bounding box, and computes its extrema if necessary to
|
||||
* update it.
|
||||
*
|
||||
* @Input:
|
||||
* control ::
|
||||
* A pointer to a control point.
|
||||
*
|
||||
* to ::
|
||||
* A pointer to the destination vector.
|
||||
*
|
||||
* @InOut:
|
||||
* user ::
|
||||
* The address of the current walk context.
|
||||
*
|
||||
* @Return:
|
||||
* Always 0. Needed for the interface only.
|
||||
*
|
||||
* @Note:
|
||||
* In the case of a non-monotonous arc, we compute directly the
|
||||
* extremum coordinates, as it is sufficiently fast.
|
||||
*/
|
||||
static int
|
||||
BBox_Conic_To( FT_Vector* control,
|
||||
FT_Vector* to,
|
||||
|
@ -222,30 +234,36 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* BBox_Cubic_Check */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Find the extrema of a 1-dimensional cubic Bezier curve and */
|
||||
/* update a bounding range. This version uses iterative splitting */
|
||||
/* because it is faster than the exact solution with square roots. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* p1 :: The start coordinate. */
|
||||
/* */
|
||||
/* p2 :: The coordinate of the first control point. */
|
||||
/* */
|
||||
/* p3 :: The coordinate of the second control point. */
|
||||
/* */
|
||||
/* p4 :: The end coordinate. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* min :: The address of the current minimum. */
|
||||
/* */
|
||||
/* max :: The address of the current maximum. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* BBox_Cubic_Check
|
||||
*
|
||||
* @Description:
|
||||
* Find the extrema of a 1-dimensional cubic Bezier curve and
|
||||
* update a bounding range. This version uses iterative splitting
|
||||
* because it is faster than the exact solution with square roots.
|
||||
*
|
||||
* @Input:
|
||||
* p1 ::
|
||||
* The start coordinate.
|
||||
*
|
||||
* p2 ::
|
||||
* The coordinate of the first control point.
|
||||
*
|
||||
* p3 ::
|
||||
* The coordinate of the second control point.
|
||||
*
|
||||
* p4 ::
|
||||
* The end coordinate.
|
||||
*
|
||||
* @InOut:
|
||||
* min ::
|
||||
* The address of the current minimum.
|
||||
*
|
||||
* max ::
|
||||
* The address of the current maximum.
|
||||
*/
|
||||
static FT_Pos
|
||||
cubic_peak( FT_Pos q1,
|
||||
FT_Pos q2,
|
||||
|
@ -361,34 +379,38 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* BBox_Cubic_To */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This function is used as a `cubic_to' emitter during */
|
||||
/* FT_Outline_Decompose(). It checks a cubic Bezier curve with the */
|
||||
/* current bounding box, and computes its extrema if necessary to */
|
||||
/* update it. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* control1 :: A pointer to the first control point. */
|
||||
/* */
|
||||
/* control2 :: A pointer to the second control point. */
|
||||
/* */
|
||||
/* to :: A pointer to the destination vector. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* user :: The address of the current walk context. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* Always 0. Needed for the interface only. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* In the case of a non-monotonous arc, we don't compute directly */
|
||||
/* extremum coordinates, we subdivide instead. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* BBox_Cubic_To
|
||||
*
|
||||
* @Description:
|
||||
* This function is used as a `cubic_to' emitter during
|
||||
* FT_Outline_Decompose(). It checks a cubic Bezier curve with the
|
||||
* current bounding box, and computes its extrema if necessary to
|
||||
* update it.
|
||||
*
|
||||
* @Input:
|
||||
* control1 ::
|
||||
* A pointer to the first control point.
|
||||
*
|
||||
* control2 ::
|
||||
* A pointer to the second control point.
|
||||
*
|
||||
* to ::
|
||||
* A pointer to the destination vector.
|
||||
*
|
||||
* @InOut:
|
||||
* user ::
|
||||
* The address of the current walk context.
|
||||
*
|
||||
* @Return:
|
||||
* Always 0. Needed for the interface only.
|
||||
*
|
||||
* @Note:
|
||||
* In the case of a non-monotonous arc, we don't compute directly
|
||||
* extremum coordinates, we subdivide instead.
|
||||
*/
|
||||
static int
|
||||
BBox_Cubic_To( FT_Vector* control1,
|
||||
FT_Vector* control2,
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftbdf.c */
|
||||
/* */
|
||||
/* FreeType API for accessing BDF-specific strings (body). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftbdf.c
|
||||
*
|
||||
* FreeType API for accessing BDF-specific strings (body).
|
||||
*
|
||||
* Copyright 2002-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftbitmap.c */
|
||||
/* */
|
||||
/* FreeType utility functions for bitmaps (body). */
|
||||
/* */
|
||||
/* Copyright 2004-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftbitmap.c
|
||||
*
|
||||
* FreeType utility functions for bitmaps (body).
|
||||
*
|
||||
* Copyright 2004-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcalc.c */
|
||||
/* */
|
||||
/* Arithmetic computations (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcalc.c
|
||||
*
|
||||
* Arithmetic computations (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Support for 1-complement arithmetic has been totally dropped in this */
|
||||
/* release. You can still write your own code if you need it. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Support for 1-complement arithmetic has been totally dropped in this
|
||||
* release. You can still write your own code if you need it.
|
||||
*
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Implementing basic computation routines. */
|
||||
/* */
|
||||
/* FT_MulDiv(), FT_MulFix(), FT_DivFix(), FT_RoundFix(), FT_CeilFix(), */
|
||||
/* and FT_FloorFix() are declared in freetype.h. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Implementing basic computation routines.
|
||||
*
|
||||
* FT_MulDiv(), FT_MulFix(), FT_DivFix(), FT_RoundFix(), FT_CeilFix(),
|
||||
* and FT_FloorFix() are declared in freetype.h.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -58,12 +58,12 @@
|
|||
#endif /* !FT_LONG64 */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_calc
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcid.c */
|
||||
/* */
|
||||
/* FreeType API for accessing CID font information. */
|
||||
/* */
|
||||
/* Copyright 2007-2018 by */
|
||||
/* Derek Clegg and Michael Toftdal. */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcid.c
|
||||
*
|
||||
* FreeType API for accessing CID font information.
|
||||
*
|
||||
* Copyright 2007-2018 by
|
||||
* Derek Clegg and Michael Toftdal.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftdbgmem.c */
|
||||
/* */
|
||||
/* Memory debugger (body). */
|
||||
/* */
|
||||
/* Copyright 2001-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftdbgmem.c
|
||||
*
|
||||
* Memory debugger (body).
|
||||
*
|
||||
* Copyright 2001-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftdebug.c */
|
||||
/* */
|
||||
/* Debugging and logging component (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftdebug.c
|
||||
*
|
||||
* Debugging and logging component (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This component contains various macros and functions used to ease the */
|
||||
/* debugging of the FreeType engine. Its main purpose is in assertion */
|
||||
/* checking, tracing, and error detection. */
|
||||
/* */
|
||||
/* There are now three debugging modes: */
|
||||
/* */
|
||||
/* - trace mode */
|
||||
/* */
|
||||
/* Error and trace messages are sent to the log file (which can be the */
|
||||
/* standard error output). */
|
||||
/* */
|
||||
/* - error mode */
|
||||
/* */
|
||||
/* Only error messages are generated. */
|
||||
/* */
|
||||
/* - release mode: */
|
||||
/* */
|
||||
/* No error message is sent or generated. The code is free from any */
|
||||
/* debugging parts. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This component contains various macros and functions used to ease the
|
||||
* debugging of the FreeType engine. Its main purpose is in assertion
|
||||
* checking, tracing, and error detection.
|
||||
*
|
||||
* There are now three debugging modes:
|
||||
*
|
||||
* - trace mode
|
||||
*
|
||||
* Error and trace messages are sent to the log file (which can be the
|
||||
* standard error output).
|
||||
*
|
||||
* - error mode
|
||||
*
|
||||
* Only error messages are generated.
|
||||
*
|
||||
* - release mode:
|
||||
*
|
||||
* No error message is sent or generated. The code is free from any
|
||||
* debugging parts.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -140,24 +140,24 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Initialize the tracing sub-system. This is done by retrieving the */
|
||||
/* value of the `FT2_DEBUG' environment variable. It must be a list of */
|
||||
/* toggles, separated by spaces, `;', or `,'. Example: */
|
||||
/* */
|
||||
/* export FT2_DEBUG="any:3 memory:7 stream:5" */
|
||||
/* */
|
||||
/* This requests that all levels be set to 3, except the trace level for */
|
||||
/* the memory and stream components which are set to 7 and 5, */
|
||||
/* respectively. */
|
||||
/* */
|
||||
/* See the file `include/freetype/internal/fttrace.h' for details of */
|
||||
/* the available toggle names. */
|
||||
/* */
|
||||
/* The level must be between 0 and 7; 0 means quiet (except for serious */
|
||||
/* runtime errors), and 7 means _very_ verbose. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* Initialize the tracing sub-system. This is done by retrieving the
|
||||
* value of the `FT2_DEBUG' environment variable. It must be a list of
|
||||
* toggles, separated by spaces, `;', or `,'. Example:
|
||||
*
|
||||
* export FT2_DEBUG="any:3 memory:7 stream:5"
|
||||
*
|
||||
* This requests that all levels be set to 3, except the trace level for
|
||||
* the memory and stream components which are set to 7 and 5,
|
||||
* respectively.
|
||||
*
|
||||
* See the file `include/freetype/internal/fttrace.h' for details of
|
||||
* the available toggle names.
|
||||
*
|
||||
* The level must be between 0 and 7; 0 means quiet (except for serious
|
||||
* runtime errors), and 7 means _very_ verbose.
|
||||
*/
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftfntfmt.c */
|
||||
/* */
|
||||
/* FreeType utility file for font formats (body). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftfntfmt.c
|
||||
*
|
||||
* FreeType utility file for font formats (body).
|
||||
*
|
||||
* Copyright 2002-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftfstype.c */
|
||||
/* */
|
||||
/* FreeType utility file to access FSType data (body). */
|
||||
/* */
|
||||
/* Copyright 2008-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftfstype.c
|
||||
*
|
||||
* FreeType utility file to access FSType data (body).
|
||||
*
|
||||
* Copyright 2008-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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_TYPE1_TABLES_H
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftgasp.c */
|
||||
/* */
|
||||
/* Access of TrueType's `gasp' table (body). */
|
||||
/* */
|
||||
/* Copyright 2007-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftgasp.c
|
||||
*
|
||||
* Access of TrueType's `gasp' table (body).
|
||||
*
|
||||
* Copyright 2007-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftgloadr.c */
|
||||
/* */
|
||||
/* The FreeType glyph loader (body). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftgloadr.c
|
||||
*
|
||||
* The FreeType glyph loader (body).
|
||||
*
|
||||
* Copyright 2002-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -38,31 +38,31 @@
|
|||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The glyph loader is a simple object which is used to load a set of */
|
||||
/* glyphs easily. It is critical for the correct loading of composites. */
|
||||
/* */
|
||||
/* Ideally, one can see it as a stack of abstract `glyph' objects. */
|
||||
/* */
|
||||
/* loader.base Is really the bottom of the stack. It describes a */
|
||||
/* single glyph image made of the juxtaposition of */
|
||||
/* several glyphs (those `in the stack'). */
|
||||
/* */
|
||||
/* loader.current Describes the top of the stack, on which a new */
|
||||
/* glyph can be loaded. */
|
||||
/* */
|
||||
/* Rewind Clears the stack. */
|
||||
/* Prepare Set up `loader.current' for addition of a new glyph */
|
||||
/* image. */
|
||||
/* Add Add the `current' glyph image to the `base' one, */
|
||||
/* and prepare for another one. */
|
||||
/* */
|
||||
/* The glyph loader is now a base object. Each driver used to */
|
||||
/* re-implement it in one way or the other, which wasted code and */
|
||||
/* energy. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* The glyph loader is a simple object which is used to load a set of
|
||||
* glyphs easily. It is critical for the correct loading of composites.
|
||||
*
|
||||
* Ideally, one can see it as a stack of abstract `glyph' objects.
|
||||
*
|
||||
* loader.base Is really the bottom of the stack. It describes a
|
||||
* single glyph image made of the juxtaposition of
|
||||
* several glyphs (those `in the stack').
|
||||
*
|
||||
* loader.current Describes the top of the stack, on which a new
|
||||
* glyph can be loaded.
|
||||
*
|
||||
* Rewind Clears the stack.
|
||||
* Prepare Set up `loader.current' for addition of a new glyph
|
||||
* image.
|
||||
* Add Add the `current' glyph image to the `base' one,
|
||||
* and prepare for another one.
|
||||
*
|
||||
* The glyph loader is now a base object. Each driver used to
|
||||
* re-implement it in one way or the other, which wasted code and
|
||||
* energy.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* create a new glyph loader */
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftglyph.c */
|
||||
/* */
|
||||
/* FreeType convenience functions to handle glyphs (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftglyph.c
|
||||
*
|
||||
* FreeType convenience functions to handle glyphs (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This file contains the definition of several convenience functions */
|
||||
/* that can be used by client applications to easily retrieve glyph */
|
||||
/* bitmaps and outlines from a given face. */
|
||||
/* */
|
||||
/* These functions should be optional if you are writing a font server */
|
||||
/* or text layout engine on top of FreeType. However, they are pretty */
|
||||
/* handy for many other simple uses of the library. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This file contains the definition of several convenience functions
|
||||
* that can be used by client applications to easily retrieve glyph
|
||||
* bitmaps and outlines from a given face.
|
||||
*
|
||||
* These functions should be optional if you are writing a font server
|
||||
* or text layout engine on top of FreeType. However, they are pretty
|
||||
* handy for many other simple uses of the library.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -37,12 +37,12 @@
|
|||
#include FT_INTERNAL_OBJECTS_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_glyph
|
||||
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftgxval.c */
|
||||
/* */
|
||||
/* FreeType API for validating TrueTypeGX/AAT tables (body). */
|
||||
/* */
|
||||
/* Copyright 2004-2018 by */
|
||||
/* Masatake YAMATO, Redhat K.K, */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftgxval.c
|
||||
*
|
||||
* FreeType API for validating TrueTypeGX/AAT tables (body).
|
||||
*
|
||||
* Copyright 2004-2018 by
|
||||
* Masatake YAMATO, Redhat K.K,
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* gxvalid is derived from both gxlayout module and otvalid module. */
|
||||
/* Development of gxlayout is supported by the Information-technology */
|
||||
/* Promotion Agency(IPA), Japan. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* gxvalid is derived from both gxlayout module and otvalid module.
|
||||
* Development of gxlayout is supported by the Information-technology
|
||||
* Promotion Agency(IPA), Japan.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* fthash.c */
|
||||
/* */
|
||||
/* Hashing functions (body). */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* fthash.c
|
||||
*
|
||||
* Hashing functions (body).
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright 2000 Computing Research Labs, New Mexico State University
|
||||
|
@ -30,13 +30,13 @@
|
|||
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This file is based on code from bdf.c,v 1.22 2000/03/16 20:08:50 */
|
||||
/* */
|
||||
/* taken from Mark Leisher's xmbdfed package */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This file is based on code from bdf.c,v 1.22 2000/03/16 20:08:50
|
||||
*
|
||||
* taken from Mark Leisher's xmbdfed package
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,40 +1,40 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftinit.c */
|
||||
/* */
|
||||
/* FreeType initialization layer (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftinit.c
|
||||
*
|
||||
* FreeType initialization layer (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The purpose of this file is to implement the following two */
|
||||
/* functions: */
|
||||
/* */
|
||||
/* FT_Add_Default_Modules(): */
|
||||
/* This function is used to add the set of default modules to a */
|
||||
/* fresh new library object. The set is taken from the header file */
|
||||
/* `freetype/config/ftmodule.h'. See the document `FreeType 2.0 */
|
||||
/* Build System' for more information. */
|
||||
/* */
|
||||
/* FT_Init_FreeType(): */
|
||||
/* This function creates a system object for the current platform, */
|
||||
/* builds a library out of it, then calls FT_Default_Drivers(). */
|
||||
/* */
|
||||
/* Note that even if FT_Init_FreeType() uses the implementation of the */
|
||||
/* system object defined at build time, client applications are still */
|
||||
/* able to provide their own `ftsystem.c'. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* The purpose of this file is to implement the following two
|
||||
* functions:
|
||||
*
|
||||
* FT_Add_Default_Modules():
|
||||
* This function is used to add the set of default modules to a
|
||||
* fresh new library object. The set is taken from the header file
|
||||
* `freetype/config/ftmodule.h'. See the document `FreeType 2.0
|
||||
* Build System' for more information.
|
||||
*
|
||||
* FT_Init_FreeType():
|
||||
* This function creates a system object for the current platform,
|
||||
* builds a library out of it, then calls FT_Default_Drivers().
|
||||
*
|
||||
* Note that even if FT_Init_FreeType() uses the implementation of the
|
||||
* system object defined at build time, client applications are still
|
||||
* able to provide their own `ftsystem.c'.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -44,12 +44,12 @@
|
|||
#include FT_MODULE_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_init
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftlcdfil.c */
|
||||
/* */
|
||||
/* FreeType API for color filtering of subpixel bitmap glyphs (body). */
|
||||
/* */
|
||||
/* Copyright 2006-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftlcdfil.c
|
||||
*
|
||||
* FreeType API for color filtering of subpixel bitmap glyphs (body).
|
||||
*
|
||||
* Copyright 2006-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
104
src/base/ftmac.c
104
src/base/ftmac.c
|
@ -1,23 +1,23 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftmac.c */
|
||||
/* */
|
||||
/* Mac FOND support. Written by just@letterror.com. */
|
||||
/* Heavily modified by mpsuzuki, George Williams, and Sean McBride. */
|
||||
/* */
|
||||
/* This file is for Mac OS X only; see builds/mac/ftoldmac.c for */
|
||||
/* classic platforms built by MPW. */
|
||||
/* */
|
||||
/* Copyright 1996-2018 by */
|
||||
/* Just van Rossum, 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftmac.c
|
||||
*
|
||||
* Mac FOND support. Written by just@letterror.com.
|
||||
* Heavily modified by mpsuzuki, George Williams, and Sean McBride.
|
||||
*
|
||||
* This file is for Mac OS X only; see builds/mac/ftoldmac.c for
|
||||
* classic platforms built by MPW.
|
||||
*
|
||||
* Copyright 1996-2018 by
|
||||
* Just van Rossum, 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
|
@ -954,17 +954,17 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_New_Face */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This is the Mac-specific implementation of FT_New_Face. In */
|
||||
/* addition to the standard FT_New_Face() functionality, it also */
|
||||
/* accepts pathnames to Mac suitcase files. For further */
|
||||
/* documentation see the original FT_New_Face() in freetype.h. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* FT_New_Face
|
||||
*
|
||||
* @Description:
|
||||
* This is the Mac-specific implementation of FT_New_Face. In
|
||||
* addition to the standard FT_New_Face() functionality, it also
|
||||
* accepts pathnames to Mac suitcase files. For further
|
||||
* documentation see the original FT_New_Face() in freetype.h.
|
||||
*/
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Face( FT_Library library,
|
||||
const char* pathname,
|
||||
|
@ -995,17 +995,17 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_New_Face_From_FSRef */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* FT_New_Face_From_FSRef is identical to FT_New_Face except it */
|
||||
/* accepts an FSRef instead of a path. */
|
||||
/* */
|
||||
/* This function is deprecated because Carbon data types (FSRef) */
|
||||
/* are not cross-platform, and thus not suitable for the FreeType API. */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* FT_New_Face_From_FSRef
|
||||
*
|
||||
* @Description:
|
||||
* FT_New_Face_From_FSRef is identical to FT_New_Face except it
|
||||
* accepts an FSRef instead of a path.
|
||||
*
|
||||
* This function is deprecated because Carbon data types (FSRef)
|
||||
*/
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Face_From_FSRef( FT_Library library,
|
||||
const FSRef* ref,
|
||||
|
@ -1040,16 +1040,16 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_New_Face_From_FSSpec */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* FT_New_Face_From_FSSpec is identical to FT_New_Face except it */
|
||||
/* accepts an FSSpec instead of a path. */
|
||||
/* */
|
||||
/* This function is deprecated because FSSpec is deprecated in Mac OS X */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* FT_New_Face_From_FSSpec
|
||||
*
|
||||
* @Description:
|
||||
* FT_New_Face_From_FSSpec is identical to FT_New_Face except it
|
||||
* accepts an FSSpec instead of a path.
|
||||
*
|
||||
*/
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Face_From_FSSpec( FT_Library library,
|
||||
const FSSpec* spec,
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftmm.c */
|
||||
/* */
|
||||
/* Multiple Master font support (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftmm.c
|
||||
*
|
||||
* Multiple Master font support (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -25,12 +25,12 @@
|
|||
#include FT_SERVICE_METRICS_VARIATIONS_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_mm
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftobjs.c */
|
||||
/* */
|
||||
/* The FreeType private base classes (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftobjs.c
|
||||
*
|
||||
* The FreeType private base classes (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -259,12 +259,12 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_objs
|
||||
|
||||
|
@ -1185,20 +1185,20 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* find_unicode_charmap */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This function finds a Unicode charmap, if there is one. */
|
||||
/* And if there is more than one, it tries to favour the more */
|
||||
/* extensive one, i.e., one that supports UCS-4 against those which */
|
||||
/* are limited to the BMP (said UCS-2 encoding.) */
|
||||
/* */
|
||||
/* This function is called from open_face() (just below), and also */
|
||||
/* from FT_Select_Charmap( ..., FT_ENCODING_UNICODE ). */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* find_unicode_charmap
|
||||
*
|
||||
* @Description:
|
||||
* This function finds a Unicode charmap, if there is one.
|
||||
* And if there is more than one, it tries to favour the more
|
||||
* extensive one, i.e., one that supports UCS-4 against those which
|
||||
* are limited to the BMP (said UCS-2 encoding.)
|
||||
*
|
||||
* This function is called from open_face() (just below), and also
|
||||
* from FT_Select_Charmap( ..., FT_ENCODING_UNICODE ).
|
||||
*/
|
||||
static FT_Error
|
||||
find_unicode_charmap( FT_Face face )
|
||||
{
|
||||
|
@ -1278,15 +1278,15 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* find_variant_selector_charmap */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This function finds the variant selector charmap, if there is one. */
|
||||
/* There can only be one (platform=0, specific=5, format=14). */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* find_variant_selector_charmap
|
||||
*
|
||||
* @Description:
|
||||
* This function finds the variant selector charmap, if there is one.
|
||||
* There can only be one (platform=0, specific=5, format=14).
|
||||
*/
|
||||
static FT_CharMap
|
||||
find_variant_selector_charmap( FT_Face face )
|
||||
{
|
||||
|
@ -1317,14 +1317,14 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* open_face */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This function does some work for FT_Open_Face(). */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* open_face
|
||||
*
|
||||
* @Description:
|
||||
* This function does some work for FT_Open_Face().
|
||||
*/
|
||||
static FT_Error
|
||||
open_face( FT_Driver driver,
|
||||
FT_Stream *astream,
|
||||
|
@ -2205,7 +2205,7 @@
|
|||
FT_Error error = FT_ERR( Unknown_File_Format );
|
||||
FT_UInt i;
|
||||
|
||||
char * file_names[FT_RACCESS_N_RULES];
|
||||
char* file_names[FT_RACCESS_N_RULES];
|
||||
FT_Long offsets[FT_RACCESS_N_RULES];
|
||||
FT_Error errors[FT_RACCESS_N_RULES];
|
||||
FT_Bool is_darwin_vfs, vfs_rfork_has_no_font = FALSE; /* not tested */
|
||||
|
@ -4753,21 +4753,22 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* Destroy_Module */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Destroys a given module object. For drivers, this also destroys */
|
||||
/* all child faces. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* module :: A handle to the target driver object. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* The driver _must_ be LOCKED! */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* Destroy_Module
|
||||
*
|
||||
* @Description:
|
||||
* Destroys a given module object. For drivers, this also destroys
|
||||
* all child faces.
|
||||
*
|
||||
* @InOut:
|
||||
* module ::
|
||||
* A handle to the target driver object.
|
||||
*
|
||||
* @Note:
|
||||
* The driver _must_ be LOCKED!
|
||||
*/
|
||||
static void
|
||||
Destroy_Module( FT_Module module )
|
||||
{
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftotval.c */
|
||||
/* */
|
||||
/* FreeType API for validating OpenType tables (body). */
|
||||
/* */
|
||||
/* Copyright 2004-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftotval.c
|
||||
*
|
||||
* FreeType API for validating OpenType tables (body).
|
||||
*
|
||||
* Copyright 2004-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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftoutln.c */
|
||||
/* */
|
||||
/* FreeType outline management (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftoutln.c
|
||||
*
|
||||
* FreeType outline management (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* All functions are declared in freetype.h. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* All functions are declared in freetype.h.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -31,12 +31,12 @@
|
|||
#include FT_TRIGONOMETRY_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_outline
|
||||
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftpatent.c */
|
||||
/* */
|
||||
/* FreeType API for checking patented TrueType bytecode instructions */
|
||||
/* (body). Obsolete, retained for backward compatibility. */
|
||||
/* */
|
||||
/* Copyright 2007-2018 by */
|
||||
/* David Turner. */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftpatent.c
|
||||
*
|
||||
* FreeType API for checking patented TrueType bytecode instructions
|
||||
* (body). Obsolete, retained for backward compatibility.
|
||||
*
|
||||
* Copyright 2007-2018 by
|
||||
* David Turner.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftpfr.c */
|
||||
/* */
|
||||
/* FreeType API for accessing PFR-specific data (body). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftpfr.c
|
||||
*
|
||||
* FreeType API for accessing PFR-specific data (body).
|
||||
*
|
||||
* Copyright 2002-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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftpsprop.c */
|
||||
/* */
|
||||
/* Get and set properties of PostScript drivers (body). */
|
||||
/* See `ftdriver.h' for available properties. */
|
||||
/* */
|
||||
/* Copyright 2017-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftpsprop.c
|
||||
*
|
||||
* Get and set properties of PostScript drivers (body).
|
||||
* See `ftdriver.h' for available properties.
|
||||
*
|
||||
* Copyright 2017-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -25,12 +25,12 @@
|
|||
#include FT_INTERNAL_POSTSCRIPT_PROPS_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_psprops
|
||||
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftrfork.c */
|
||||
/* */
|
||||
/* Embedded resource forks accessor (body). */
|
||||
/* */
|
||||
/* Copyright 2004-2018 by */
|
||||
/* Masatake YAMATO and Redhat K.K. */
|
||||
/* */
|
||||
/* FT_Raccess_Get_HeaderInfo() and raccess_guess_darwin_hfsplus() are */
|
||||
/* derived from ftobjs.c. */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftrfork.c
|
||||
*
|
||||
* Embedded resource forks accessor (body).
|
||||
*
|
||||
* Copyright 2004-2018 by
|
||||
* Masatake YAMATO and Redhat K.K.
|
||||
*
|
||||
* FT_Raccess_Get_HeaderInfo() and raccess_guess_darwin_hfsplus() are
|
||||
* derived from ftobjs.c.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/***************************************************************************/
|
||||
/* Development of the code in this file is support of */
|
||||
/* Information-technology Promotion Agency, Japan. */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
* Development of the code in this file is support of
|
||||
* Information-technology Promotion Agency, Japan.
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -438,7 +438,7 @@
|
|||
|
||||
static FT_Error
|
||||
raccess_guess_linux_double_from_file_name( FT_Library library,
|
||||
char * file_name,
|
||||
char* file_name,
|
||||
FT_Long *result_offset );
|
||||
|
||||
static char *
|
||||
|
@ -847,7 +847,7 @@
|
|||
{
|
||||
FT_Open_Args args2;
|
||||
FT_Stream stream2;
|
||||
char * nouse = NULL;
|
||||
char* nouse = NULL;
|
||||
FT_Error error;
|
||||
|
||||
|
||||
|
@ -909,9 +909,9 @@
|
|||
#else /* !FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* Dummy function; just sets errors */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
* Dummy function; just sets errors
|
||||
*/
|
||||
|
||||
FT_BASE_DEF( void )
|
||||
FT_Raccess_Guess( FT_Library library,
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftsnames.c */
|
||||
/* */
|
||||
/* Simple interface to access SFNT name tables (which are used */
|
||||
/* to hold font names, copyright info, notices, etc.) (body). */
|
||||
/* */
|
||||
/* This is _not_ used to retrieve glyph names! */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftsnames.c
|
||||
*
|
||||
* Simple interface to access SFNT name tables (which are used
|
||||
* to hold font names, copyright info, notices, etc.) (body).
|
||||
*
|
||||
* This is _not_ used to retrieve glyph names!
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftstream.c */
|
||||
/* */
|
||||
/* I/O stream support (body). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftstream.c
|
||||
*
|
||||
* I/O stream support (body).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -21,12 +21,12 @@
|
|||
#include FT_INTERNAL_DEBUG_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_stream
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftstroke.c */
|
||||
/* */
|
||||
/* FreeType path stroker (body). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftstroke.c
|
||||
*
|
||||
* FreeType path stroker (body).
|
||||
*
|
||||
* Copyright 2002-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftsynth.c */
|
||||
/* */
|
||||
/* FreeType synthesizing code for emboldening and slanting (body). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftsynth.c
|
||||
*
|
||||
* FreeType synthesizing code for emboldening and slanting (body).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -24,12 +24,12 @@
|
|||
#include FT_BITMAP_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_synth
|
||||
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftsystem.c */
|
||||
/* */
|
||||
/* ANSI-specific FreeType low-level system interface (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftsystem.c
|
||||
*
|
||||
* ANSI-specific FreeType low-level system interface (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This file contains the default interface used by FreeType to access */
|
||||
/* low-level, i.e. memory management, i/o access as well as thread */
|
||||
/* synchronisation. It can be replaced by user-specific routines if */
|
||||
/* necessary. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This file contains the default interface used by FreeType to access
|
||||
* low-level, i.e. memory management, i/o access as well as thread
|
||||
* synchronisation. It can be replaced by user-specific routines if
|
||||
* necessary.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -34,37 +34,39 @@
|
|||
#include FT_TYPES_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* MEMORY MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* MEMORY MANAGEMENT INTERFACE
|
||||
*
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* It is not necessary to do any error checking for the */
|
||||
/* allocation-related functions. This will be done by the higher level */
|
||||
/* routines like ft_mem_alloc() or ft_mem_realloc(). */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* It is not necessary to do any error checking for the
|
||||
* allocation-related functions. This will be done by the higher level
|
||||
* routines like ft_mem_alloc() or ft_mem_realloc().
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_alloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory allocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* size :: The requested size in bytes. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* ft_alloc
|
||||
*
|
||||
* @Description:
|
||||
* The memory allocation function.
|
||||
*
|
||||
* @Input:
|
||||
* memory ::
|
||||
* A pointer to the memory object.
|
||||
*
|
||||
* size ::
|
||||
* The requested size in bytes.
|
||||
*
|
||||
* @Return:
|
||||
* The address of newly allocated block.
|
||||
*/
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
|
@ -75,26 +77,30 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_realloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory reallocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* cur_size :: The current size of the allocated memory block. */
|
||||
/* */
|
||||
/* new_size :: The newly requested size in bytes. */
|
||||
/* */
|
||||
/* block :: The current address of the block in memory. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* ft_realloc
|
||||
*
|
||||
* @Description:
|
||||
* The memory reallocation function.
|
||||
*
|
||||
* @Input:
|
||||
* memory ::
|
||||
* A pointer to the memory object.
|
||||
*
|
||||
* cur_size ::
|
||||
* The current size of the allocated memory block.
|
||||
*
|
||||
* new_size ::
|
||||
* The newly requested size in bytes.
|
||||
*
|
||||
* block ::
|
||||
* The current address of the block in memory.
|
||||
*
|
||||
* @Return:
|
||||
* The address of the reallocated memory block.
|
||||
*/
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
|
@ -108,19 +114,21 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_free */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory release function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* ft_free
|
||||
*
|
||||
* @Description:
|
||||
* The memory release function.
|
||||
*
|
||||
* @Input:
|
||||
* memory ::
|
||||
* A pointer to the memory object.
|
||||
*
|
||||
* block ::
|
||||
* The address of block in memory to be freed.
|
||||
*/
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
|
@ -131,20 +139,20 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* RESOURCE MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* RESOURCE MANAGEMENT INTERFACE
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
|
@ -153,17 +161,18 @@
|
|||
#define STREAM_FILE( stream ) ( (FT_FILE*)stream->descriptor.pointer )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_ansi_stream_close */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to close a stream. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* ft_ansi_stream_close
|
||||
*
|
||||
* @Description:
|
||||
* The function to close a stream.
|
||||
*
|
||||
* @Input:
|
||||
* stream ::
|
||||
* A pointer to the stream object.
|
||||
*/
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_ansi_stream_close( FT_Stream stream )
|
||||
{
|
||||
|
@ -175,28 +184,32 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_ansi_stream_io */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to open a stream. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
/* offset :: The position in the data stream to start reading. */
|
||||
/* */
|
||||
/* buffer :: The address of buffer to store the read data. */
|
||||
/* */
|
||||
/* count :: The number of bytes to read from the stream. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The number of bytes actually read. If `count' is zero (this is, */
|
||||
/* the function is used for seeking), a non-zero return value */
|
||||
/* indicates an error. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* ft_ansi_stream_io
|
||||
*
|
||||
* @Description:
|
||||
* The function to open a stream.
|
||||
*
|
||||
* @Input:
|
||||
* stream ::
|
||||
* A pointer to the stream object.
|
||||
*
|
||||
* offset ::
|
||||
* The position in the data stream to start reading.
|
||||
*
|
||||
* buffer ::
|
||||
* The address of buffer to store the read data.
|
||||
*
|
||||
* count ::
|
||||
* The number of bytes to read from the stream.
|
||||
*
|
||||
* @Return:
|
||||
* The number of bytes actually read. If `count' is zero (this is,
|
||||
* the function is used for seeking), a non-zero return value
|
||||
* indicates an error.
|
||||
*/
|
||||
FT_CALLBACK_DEF( unsigned long )
|
||||
ft_ansi_stream_io( FT_Stream stream,
|
||||
unsigned long offset,
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* fttrigon.c */
|
||||
/* */
|
||||
/* FreeType trigonometric functions (body). */
|
||||
/* */
|
||||
/* Copyright 2001-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* fttrigon.c
|
||||
*
|
||||
* FreeType trigonometric functions (body).
|
||||
*
|
||||
* Copyright 2001-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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This is a fixed-point CORDIC implementation of trigonometric */
|
||||
/* functions as well as transformations between Cartesian and polar */
|
||||
/* coordinates. The angles are represented as 16.16 fixed-point values */
|
||||
/* in degrees, i.e., the angular resolution is 2^-16 degrees. Note that */
|
||||
/* only vectors longer than 2^16*180/pi (or at least 22 bits) on a */
|
||||
/* discrete Cartesian grid can have the same or better angular */
|
||||
/* resolution. Therefore, to maintain this precision, some functions */
|
||||
/* require an interim upscaling of the vectors, whereas others operate */
|
||||
/* with 24-bit long vectors directly. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This is a fixed-point CORDIC implementation of trigonometric
|
||||
* functions as well as transformations between Cartesian and polar
|
||||
* coordinates. The angles are represented as 16.16 fixed-point values
|
||||
* in degrees, i.e., the angular resolution is 2^-16 degrees. Note that
|
||||
* only vectors longer than 2^16*180/pi (or at least 22 bits) on a
|
||||
* discrete Cartesian grid can have the same or better angular
|
||||
* resolution. Therefore, to maintain this precision, some functions
|
||||
* require an interim upscaling of the vectors, whereas others operate
|
||||
* with 24-bit long vectors directly.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_INTERNAL_OBJECTS_H
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* fttype1.c */
|
||||
/* */
|
||||
/* FreeType utility file for PS names support (body). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* fttype1.c
|
||||
*
|
||||
* FreeType utility file for PS names support (body).
|
||||
*
|
||||
* Copyright 2002-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftutil.c */
|
||||
/* */
|
||||
/* FreeType utility file for memory and list management (body). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftutil.c
|
||||
*
|
||||
* FreeType utility file for memory and list management (body).
|
||||
*
|
||||
* Copyright 2002-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -23,12 +23,12 @@
|
|||
#include FT_LIST_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_memory
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftwinfnt.c */
|
||||
/* */
|
||||
/* FreeType API for accessing Windows FNT specific info (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftwinfnt.c
|
||||
*
|
||||
* FreeType API for accessing Windows FNT specific info (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -51,11 +51,11 @@ FT_BEGIN_HEADER
|
|||
/* end of bdfP.h */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* BDF font options macros and types. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* BDF font options macros and types.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#define BDF_CORRECT_METRICS 0x01 /* Correct invalid metrics when loading. */
|
||||
|
@ -93,11 +93,11 @@ FT_BEGIN_HEADER
|
|||
void* client_data );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* BDF font property macros and types. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* BDF font property macros and types.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#define BDF_ATOM 1
|
||||
|
@ -123,11 +123,11 @@ FT_BEGIN_HEADER
|
|||
} bdf_property_t;
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* BDF font metric and glyph types. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* BDF font metric and glyph types.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
typedef struct bdf_bbx_t_
|
||||
|
@ -226,11 +226,11 @@ FT_BEGIN_HEADER
|
|||
} bdf_font_t;
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Types for load/save callbacks. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Types for load/save callbacks.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* Error codes. */
|
||||
|
@ -247,11 +247,11 @@ FT_BEGIN_HEADER
|
|||
#define BDF_INVALID_LINE -100
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* BDF font API. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* BDF font API.
|
||||
*
|
||||
*/
|
||||
|
||||
FT_LOCAL( FT_Error )
|
||||
bdf_load_font( FT_Stream stream,
|
||||
|
|
|
@ -41,12 +41,12 @@ THE SOFTWARE.
|
|||
#include "bdferror.h"
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_bdfdriver
|
||||
|
||||
|
|
|
@ -20,11 +20,11 @@
|
|||
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This file is used to define the BDF error enumeration constants. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This file is used to define the BDF error enumeration constants.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BDFERROR_H_
|
||||
#define BDFERROR_H_
|
||||
|
|
|
@ -22,13 +22,13 @@
|
|||
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This file is based on bdf.c,v 1.22 2000/03/16 20:08:50 */
|
||||
/* */
|
||||
/* taken from Mark Leisher's xmbdfed package */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This file is based on bdf.c,v 1.22 2000/03/16 20:08:50
|
||||
*
|
||||
* taken from Mark Leisher's xmbdfed package
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -42,21 +42,21 @@
|
|||
#include "bdferror.h"
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_bdflib
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Default BDF font options. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Default BDF font options.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
static const bdf_options_t _bdf_opts =
|
||||
|
@ -68,11 +68,11 @@
|
|||
};
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Builtin BDF font properties. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Builtin BDF font properties.
|
||||
*
|
||||
*/
|
||||
|
||||
/* List of most properties that might appear in a font. Doesn't include */
|
||||
/* the RAW_* and AXIS_* properties in X11R6 polymorphic fonts. */
|
||||
|
@ -219,11 +219,11 @@
|
|||
#define DBGMSG2 " (0x%lX)\n"
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Utility types and functions. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Utility types and functions.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* Function type for parsing lines of a BDF font. */
|
||||
|
@ -900,11 +900,11 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* BDF font file parsing flags and functions. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* BDF font file parsing flags and functions.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* Parse flags. */
|
||||
|
@ -2196,11 +2196,11 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* API. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* API.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftbzip2.c */
|
||||
/* */
|
||||
/* FreeType support for .bz2 compressed files. */
|
||||
/* */
|
||||
/* This optional component relies on libbz2. It should mainly be used to */
|
||||
/* parse compressed PCF fonts, as found with many X11 server */
|
||||
/* distributions. */
|
||||
/* */
|
||||
/* Copyright 2010-2018 by */
|
||||
/* Joel Klinghed. */
|
||||
/* */
|
||||
/* based on `src/gzip/ftgzip.c' */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftbzip2.c
|
||||
*
|
||||
* FreeType support for .bz2 compressed files.
|
||||
*
|
||||
* This optional component relies on libbz2. It should mainly be used to
|
||||
* parse compressed PCF fonts, as found with many X11 server
|
||||
* distributions.
|
||||
*
|
||||
* Copyright 2010-2018 by
|
||||
* Joel Klinghed.
|
||||
*
|
||||
* based on `src/gzip/ftgzip.c'
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcache.c */
|
||||
/* */
|
||||
/* The FreeType Caching sub-system (body only). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcache.c
|
||||
*
|
||||
* The FreeType Caching sub-system (body only).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#define FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcbasic.c */
|
||||
/* */
|
||||
/* The FreeType basic cache interface (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcbasic.c
|
||||
*
|
||||
* The FreeType basic cache interface (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftccache.c */
|
||||
/* */
|
||||
/* The FreeType internal cache interface (body). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftccache.c
|
||||
*
|
||||
* The FreeType internal cache interface (body).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftccache.h */
|
||||
/* */
|
||||
/* FreeType internal cache interface (specification). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftccache.h
|
||||
*
|
||||
* FreeType internal cache interface (specification).
|
||||
*
|
||||
* Copyright 2000-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 FTCCACHE_H_
|
||||
|
@ -42,17 +42,17 @@ FT_BEGIN_HEADER
|
|||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Each cache controls one or more cache nodes. Each node is part of */
|
||||
/* the global_lru list of the manager. Its `data' field however is used */
|
||||
/* as a reference count for now. */
|
||||
/* */
|
||||
/* A node can be anything, depending on the type of information held by */
|
||||
/* the cache. It can be an individual glyph image, a set of bitmaps */
|
||||
/* glyphs for a given size, some metrics, etc. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Each cache controls one or more cache nodes. Each node is part of
|
||||
* the global_lru list of the manager. Its `data' field however is used
|
||||
* as a reference count for now.
|
||||
*
|
||||
* A node can be anything, depending on the type of information held by
|
||||
* the cache. It can be an individual glyph image, a set of bitmaps
|
||||
* glyphs for a given size, some metrics, etc.
|
||||
*
|
||||
*/
|
||||
|
||||
/* structure size should be 20 bytes on 32-bits machines */
|
||||
typedef struct FTC_NodeRec_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftccback.h */
|
||||
/* */
|
||||
/* Callback functions of the caching sub-system (specification only). */
|
||||
/* */
|
||||
/* Copyright 2004-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftccback.h
|
||||
*
|
||||
* Callback functions of the caching sub-system (specification only).
|
||||
*
|
||||
* Copyright 2004-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 FTCCBACK_H_
|
||||
#define FTCCBACK_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftccmap.c */
|
||||
/* */
|
||||
/* FreeType CharMap cache (body) */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftccmap.c
|
||||
*
|
||||
* FreeType CharMap cache (body)
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -31,18 +31,18 @@
|
|||
#define FT_COMPONENT trace_cache
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Each FTC_CMapNode contains a simple array to map a range of character */
|
||||
/* codes to equivalent glyph indices. */
|
||||
/* */
|
||||
/* For now, the implementation is very basic: Each node maps a range of */
|
||||
/* 128 consecutive character codes to their corresponding glyph indices. */
|
||||
/* */
|
||||
/* We could do more complex things, but I don't think it is really very */
|
||||
/* useful. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Each FTC_CMapNode contains a simple array to map a range of character
|
||||
* codes to equivalent glyph indices.
|
||||
*
|
||||
* For now, the implementation is very basic: Each node maps a range of
|
||||
* 128 consecutive character codes to their corresponding glyph indices.
|
||||
*
|
||||
* We could do more complex things, but I don't think it is really very
|
||||
* useful.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* number of glyph indices / character code per node */
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcerror.h */
|
||||
/* */
|
||||
/* Caching sub-system error codes (specification only). */
|
||||
/* */
|
||||
/* Copyright 2001-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcerror.h
|
||||
*
|
||||
* Caching sub-system error codes (specification only).
|
||||
*
|
||||
* Copyright 2001-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This file is used to define the caching sub-system error enumeration */
|
||||
/* constants. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* This file is used to define the caching sub-system error enumeration
|
||||
* constants.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef FTCERROR_H_
|
||||
#define FTCERROR_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcglyph.c */
|
||||
/* */
|
||||
/* FreeType Glyph Image (FT_Glyph) cache (body). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcglyph.c
|
||||
*
|
||||
* FreeType Glyph Image (FT_Glyph) cache (body).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcglyph.h */
|
||||
/* */
|
||||
/* FreeType abstract glyph cache (specification). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcglyph.h
|
||||
*
|
||||
* FreeType abstract glyph cache (specification).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
|
@ -89,13 +89,13 @@
|
|||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Important: The functions defined in this file are only used to */
|
||||
/* implement an abstract glyph cache class. You need to */
|
||||
/* provide additional logic to implement a complete cache. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Important: The functions defined in this file are only used to
|
||||
* implement an abstract glyph cache class. You need to
|
||||
* provide additional logic to implement a complete cache.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -167,12 +167,12 @@ FT_BEGIN_HEADER
|
|||
#define FTC_GQUERY( x ) ( (FTC_GQuery)(x) )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* These functions are exported so that they can be called from */
|
||||
/* user-provided cache classes; otherwise, they are really part of the */
|
||||
/* cache sub-system internals. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* These functions are exported so that they can be called from
|
||||
* user-provided cache classes; otherwise, they are really part of the
|
||||
* cache sub-system internals.
|
||||
*/
|
||||
|
||||
/* must be called by derived FTC_Node_InitFunc routines */
|
||||
FT_LOCAL( void )
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcimage.c */
|
||||
/* */
|
||||
/* FreeType Image cache (body). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcimage.c
|
||||
*
|
||||
* FreeType Image cache (body).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcimage.h */
|
||||
/* */
|
||||
/* FreeType Generic Image cache (specification) */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcimage.h
|
||||
*
|
||||
* FreeType Generic Image cache (specification)
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
|
@ -25,11 +25,11 @@
|
|||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Each image cache really manages FT_Glyph objects. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* Each image cache really manages FT_Glyph objects.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef FTCIMAGE_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcmanag.c */
|
||||
/* */
|
||||
/* FreeType Cache Manager (body). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcmanag.c
|
||||
*
|
||||
* FreeType Cache Manager (body).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,47 +1,47 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcmanag.h */
|
||||
/* */
|
||||
/* FreeType Cache Manager (specification). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcmanag.h
|
||||
*
|
||||
* FreeType Cache Manager (specification).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* A cache manager is in charge of the following: */
|
||||
/* */
|
||||
/* - Maintain a mapping between generic FTC_FaceIDs and live FT_Face */
|
||||
/* objects. The mapping itself is performed through a user-provided */
|
||||
/* callback. However, the manager maintains a small cache of FT_Face */
|
||||
/* and FT_Size objects in order to speed up things considerably. */
|
||||
/* */
|
||||
/* - Manage one or more cache objects. Each cache is in charge of */
|
||||
/* holding a varying number of `cache nodes'. Each cache node */
|
||||
/* represents a minimal amount of individually accessible cached */
|
||||
/* data. For example, a cache node can be an FT_Glyph image */
|
||||
/* containing a vector outline, or some glyph metrics, or anything */
|
||||
/* else. */
|
||||
/* */
|
||||
/* Each cache node has a certain size in bytes that is added to the */
|
||||
/* total amount of `cache memory' within the manager. */
|
||||
/* */
|
||||
/* All cache nodes are located in a global LRU list, where the oldest */
|
||||
/* node is at the tail of the list. */
|
||||
/* */
|
||||
/* Each node belongs to a single cache, and includes a reference */
|
||||
/* count to avoid destroying it (due to caching). */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* A cache manager is in charge of the following:
|
||||
*
|
||||
* - Maintain a mapping between generic FTC_FaceIDs and live FT_Face
|
||||
* objects. The mapping itself is performed through a user-provided
|
||||
* callback. However, the manager maintains a small cache of FT_Face
|
||||
* and FT_Size objects in order to speed up things considerably.
|
||||
*
|
||||
* - Manage one or more cache objects. Each cache is in charge of
|
||||
* holding a varying number of `cache nodes'. Each cache node
|
||||
* represents a minimal amount of individually accessible cached
|
||||
* data. For example, a cache node can be an FT_Glyph image
|
||||
* containing a vector outline, or some glyph metrics, or anything
|
||||
* else.
|
||||
*
|
||||
* Each cache node has a certain size in bytes that is added to the
|
||||
* total amount of `cache memory' within the manager.
|
||||
*
|
||||
* All cache nodes are located in a global LRU list, where the oldest
|
||||
* node is at the tail of the list.
|
||||
*
|
||||
* Each node belongs to a single cache, and includes a reference
|
||||
* count to avoid destroying it (due to caching).
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -72,12 +72,12 @@
|
|||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Section> */
|
||||
/* cache_subsystem */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Section:
|
||||
* cache_subsystem
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#define FTC_MAX_FACES_DEFAULT 2
|
||||
|
@ -110,27 +110,28 @@ FT_BEGIN_HEADER
|
|||
} FTC_ManagerRec;
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FTC_Manager_Compress */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This function is used to check the state of the cache manager if */
|
||||
/* its `num_bytes' field is greater than its `max_bytes' field. It */
|
||||
/* will flush as many old cache nodes as possible (ignoring cache */
|
||||
/* nodes with a non-zero reference count). */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* manager :: A handle to the cache manager. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Client applications should not call this function directly. It is */
|
||||
/* normally invoked by specific cache implementations. */
|
||||
/* */
|
||||
/* The reason this function is exported is to allow client-specific */
|
||||
/* cache classes. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* FTC_Manager_Compress
|
||||
*
|
||||
* @Description:
|
||||
* This function is used to check the state of the cache manager if
|
||||
* its `num_bytes' field is greater than its `max_bytes' field. It
|
||||
* will flush as many old cache nodes as possible (ignoring cache
|
||||
* nodes with a non-zero reference count).
|
||||
*
|
||||
* @InOut:
|
||||
* manager ::
|
||||
* A handle to the cache manager.
|
||||
*
|
||||
* @Note:
|
||||
* Client applications should not call this function directly. It is
|
||||
* normally invoked by specific cache implementations.
|
||||
*
|
||||
* The reason this function is exported is to allow client-specific
|
||||
* cache classes.
|
||||
*/
|
||||
FT_LOCAL( void )
|
||||
FTC_Manager_Compress( FTC_Manager manager );
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcmru.c */
|
||||
/* */
|
||||
/* FreeType MRU support (body). */
|
||||
/* */
|
||||
/* Copyright 2003-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcmru.c
|
||||
*
|
||||
* FreeType MRU support (body).
|
||||
*
|
||||
* Copyright 2003-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,43 +1,43 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcmru.h */
|
||||
/* */
|
||||
/* Simple MRU list-cache (specification). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcmru.h
|
||||
*
|
||||
* Simple MRU list-cache (specification).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* An MRU is a list that cannot hold more than a certain number of */
|
||||
/* elements (`max_elements'). All elements in the list are sorted in */
|
||||
/* least-recently-used order, i.e., the `oldest' element is at the tail */
|
||||
/* of the list. */
|
||||
/* */
|
||||
/* When doing a lookup (either through `Lookup()' or `Lookup_Node()'), */
|
||||
/* the list is searched for an element with the corresponding key. If */
|
||||
/* it is found, the element is moved to the head of the list and is */
|
||||
/* returned. */
|
||||
/* */
|
||||
/* If no corresponding element is found, the lookup routine will try to */
|
||||
/* obtain a new element with the relevant key. If the list is already */
|
||||
/* full, the oldest element from the list is discarded and replaced by a */
|
||||
/* new one; a new element is added to the list otherwise. */
|
||||
/* */
|
||||
/* Note that it is possible to pre-allocate the element list nodes. */
|
||||
/* This is handy if `max_elements' is sufficiently small, as it saves */
|
||||
/* allocations/releases during the lookup process. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
/**************************************************************************
|
||||
*
|
||||
* An MRU is a list that cannot hold more than a certain number of
|
||||
* elements (`max_elements'). All elements in the list are sorted in
|
||||
* least-recently-used order, i.e., the `oldest' element is at the tail
|
||||
* of the list.
|
||||
*
|
||||
* When doing a lookup (either through `Lookup()' or `Lookup_Node()'),
|
||||
* the list is searched for an element with the corresponding key. If
|
||||
* it is found, the element is moved to the head of the list and is
|
||||
* returned.
|
||||
*
|
||||
* If no corresponding element is found, the lookup routine will try to
|
||||
* obtain a new element with the relevant key. If the list is already
|
||||
* full, the oldest element from the list is discarded and replaced by a
|
||||
* new one; a new element is added to the list otherwise.
|
||||
*
|
||||
* Note that it is possible to pre-allocate the element list nodes.
|
||||
* This is handy if `max_elements' is sufficiently small, as it saves
|
||||
* allocations/releases during the lookup process.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef FTCMRU_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcsbits.c */
|
||||
/* */
|
||||
/* FreeType sbits manager (body). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcsbits.c
|
||||
*
|
||||
* FreeType sbits manager (body).
|
||||
*
|
||||
* Copyright 2000-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcsbits.h */
|
||||
/* */
|
||||
/* A small-bitmap cache (specification). */
|
||||
/* */
|
||||
/* Copyright 2000-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* ftcsbits.h
|
||||
*
|
||||
* A small-bitmap cache (specification).
|
||||
*
|
||||
* Copyright 2000-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 FTCSBITS_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* cff.c */
|
||||
/* */
|
||||
/* FreeType OpenType driver component (body only). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* cff.c
|
||||
*
|
||||
* FreeType OpenType driver component (body only).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#define FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* cffcmap.c */
|
||||
/* */
|
||||
/* CFF character mapping table (cmap) support (body). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* cffcmap.c
|
||||
*
|
||||
* CFF character mapping table (cmap) support (body).
|
||||
*
|
||||
* Copyright 2002-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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* cffcmap.h */
|
||||
/* */
|
||||
/* CFF character mapping table (cmap) support (specification). */
|
||||
/* */
|
||||
/* Copyright 2002-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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* cffcmap.h
|
||||
*
|
||||
* CFF character mapping table (cmap) support (specification).
|
||||
*
|
||||
* Copyright 2002-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 CFFCMAP_H_
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* cffdrivr.c */
|
||||
/* */
|
||||
/* OpenType font driver implementation (body). */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
/****************************************************************************
|
||||
*
|
||||
* cffdrivr.c
|
||||
*
|
||||
* OpenType font driver implementation (body).
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
|
@ -49,12 +49,12 @@
|
|||
#include FT_DRIVER_H
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* The macro FT_COMPONENT is used in trace mode. It is an implicit
|
||||
* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log
|
||||
* messages during execution.
|
||||
*/
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_cffdriver
|
||||
|
||||
|
@ -72,38 +72,42 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* cff_get_kerning */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A driver method used to return the kerning vector between two */
|
||||
/* glyphs of the same face. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face object. */
|
||||
/* */
|
||||
/* left_glyph :: The index of the left glyph in the kern pair. */
|
||||
/* */
|
||||
/* right_glyph :: The index of the right glyph in the kern pair. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* kerning :: The kerning vector. This is in font units for */
|
||||
/* scalable formats, and in pixels for fixed-sizes */
|
||||
/* formats. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Only horizontal layouts (left-to-right & right-to-left) are */
|
||||
/* supported by this function. Other layouts, or more sophisticated */
|
||||
/* kernings, are out of scope of this method (the basic driver */
|
||||
/* interface is meant to be simple). */
|
||||
/* */
|
||||
/* They can be implemented by format-specific interfaces. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* cff_get_kerning
|
||||
*
|
||||
* @Description:
|
||||
* A driver method used to return the kerning vector between two
|
||||
* glyphs of the same face.
|
||||
*
|
||||
* @Input:
|
||||
* face ::
|
||||
* A handle to the source face object.
|
||||
*
|
||||
* left_glyph ::
|
||||
* The index of the left glyph in the kern pair.
|
||||
*
|
||||
* right_glyph ::
|
||||
* The index of the right glyph in the kern pair.
|
||||
*
|
||||
* @Output:
|
||||
* kerning ::
|
||||
* The kerning vector. This is in font units for
|
||||
* scalable formats, and in pixels for fixed-sizes
|
||||
* formats.
|
||||
*
|
||||
* @Return:
|
||||
* FreeType error code. 0 means success.
|
||||
*
|
||||
* @Note:
|
||||
* Only horizontal layouts (left-to-right & right-to-left) are
|
||||
* supported by this function. Other layouts, or more sophisticated
|
||||
* kernings, are out of scope of this method (the basic driver
|
||||
* interface is meant to be simple).
|
||||
*
|
||||
* They can be implemented by format-specific interfaces.
|
||||
*/
|
||||
FT_CALLBACK_DEF( FT_Error )
|
||||
cff_get_kerning( FT_Face ttface, /* TT_Face */
|
||||
FT_UInt left_glyph,
|
||||
|
@ -124,32 +128,36 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* cff_glyph_load */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A driver method used to load a glyph within a given glyph slot. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* slot :: A handle to the target slot object where the glyph */
|
||||
/* will be loaded. */
|
||||
/* */
|
||||
/* size :: A handle to the source face size at which the glyph */
|
||||
/* must be scaled, loaded, etc. */
|
||||
/* */
|
||||
/* glyph_index :: The index of the glyph in the font file. */
|
||||
/* */
|
||||
/* load_flags :: A flag indicating what to load for this glyph. The */
|
||||
/* FT_LOAD_??? constants can be used to control the */
|
||||
/* glyph loading process (e.g., whether the outline */
|
||||
/* should be scaled, whether to load bitmaps or not, */
|
||||
/* whether to hint the outline, etc). */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* cff_glyph_load
|
||||
*
|
||||
* @Description:
|
||||
* A driver method used to load a glyph within a given glyph slot.
|
||||
*
|
||||
* @Input:
|
||||
* slot ::
|
||||
* A handle to the target slot object where the glyph
|
||||
* will be loaded.
|
||||
*
|
||||
* size ::
|
||||
* A handle to the source face size at which the glyph
|
||||
* must be scaled, loaded, etc.
|
||||
*
|
||||
* glyph_index ::
|
||||
* The index of the glyph in the font file.
|
||||
*
|
||||
* load_flags ::
|
||||
* A flag indicating what to load for this glyph. The
|
||||
* FT_LOAD_??? constants can be used to control the
|
||||
* glyph loading process (e.g., whether the outline
|
||||
* should be scaled, whether to load bitmaps or not,
|
||||
* whether to hint the outline, etc).
|
||||
*
|
||||
* @Return:
|
||||
* FreeType error code. 0 means success.
|
||||
*/
|
||||
FT_CALLBACK_DEF( FT_Error )
|
||||
cff_glyph_load( FT_GlyphSlot cffslot, /* CFF_GlyphSlot */
|
||||
FT_Size cffsize, /* CFF_Size */
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue