src/java.desktop/share/native/libfreetype/include/freetype/ftcid.h
author prr
Thu, 09 May 2019 16:09:39 -0700
changeset 54876 da3834261f0c
parent 49234 3375a8039fde
permissions -rw-r--r--
8222362: Upgrade to Freetype 2.10.0 Reviewed-by: serb, erikj
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     1
/****************************************************************************
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     2
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     3
 * ftcid.h
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     4
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     5
 *   FreeType API for accessing CID font information (specification).
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     6
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     7
 * Copyright (C) 2007-2019 by
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     8
 * Dereg Clegg and Michael Toftdal.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
     9
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    10
 * This file is part of the FreeType project, and may only be used,
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    11
 * modified, and distributed under the terms of the FreeType project
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    12
 * license, LICENSE.TXT.  By continuing to use, modify, or distribute
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    13
 * this file you indicate that you have read the license and
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    14
 * understand and accept it fully.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    15
 *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    16
 */
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    17
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    18
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    19
#ifndef FTCID_H_
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    20
#define FTCID_H_
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    21
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    22
#include <ft2build.h>
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    23
#include FT_FREETYPE_H
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    24
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    25
#ifdef FREETYPE_H
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    26
#error "freetype.h of FreeType 1 has been loaded!"
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    27
#error "Please fix the directory search order for header files"
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    28
#error "so that freetype.h of FreeType 2 is found first."
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    29
#endif
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    30
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    31
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    32
FT_BEGIN_HEADER
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    33
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    34
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    35
  /**************************************************************************
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    36
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    37
   * @section:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    38
   *   cid_fonts
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    39
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    40
   * @title:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    41
   *   CID Fonts
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    42
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    43
   * @abstract:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    44
   *   CID-keyed font-specific API.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    45
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    46
   * @description:
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    47
   *   This section contains the declaration of CID-keyed font-specific
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    48
   *   functions.
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    49
   *
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    50
   */
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    51
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    52
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    53
  /**************************************************************************
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    54
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    55
   * @function:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    56
   *    FT_Get_CID_Registry_Ordering_Supplement
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    57
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    58
   * @description:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    59
   *    Retrieve the Registry/Ordering/Supplement triple (also known as the
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    60
   *    "R/O/S") from a CID-keyed font.
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    61
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    62
   * @input:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    63
   *    face ::
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    64
   *      A handle to the input face.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    65
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    66
   * @output:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    67
   *    registry ::
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    68
   *      The registry, as a C~string, owned by the face.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    69
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    70
   *    ordering ::
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    71
   *      The ordering, as a C~string, owned by the face.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    72
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    73
   *    supplement ::
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    74
   *      The supplement.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    75
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    76
   * @return:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    77
   *    FreeType error code.  0~means success.
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    78
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    79
   * @note:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    80
   *    This function only works with CID faces, returning an error
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    81
   *    otherwise.
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    82
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    83
   * @since:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    84
   *    2.3.6
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    85
   */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    86
  FT_EXPORT( FT_Error )
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    87
  FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    88
                                           const char*  *registry,
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    89
                                           const char*  *ordering,
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    90
                                           FT_Int       *supplement );
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    91
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    92
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    93
  /**************************************************************************
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    94
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    95
   * @function:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    96
   *    FT_Get_CID_Is_Internally_CID_Keyed
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    97
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
    98
   * @description:
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
    99
   *    Retrieve the type of the input face, CID keyed or not.  In contrast
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   100
   *    to the @FT_IS_CID_KEYED macro this function returns successfully also
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   101
   *    for CID-keyed fonts in an SFNT wrapper.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   102
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   103
   * @input:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   104
   *    face ::
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   105
   *      A handle to the input face.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   106
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   107
   * @output:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   108
   *    is_cid ::
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   109
   *      The type of the face as an @FT_Bool.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   110
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   111
   * @return:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   112
   *    FreeType error code.  0~means success.
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   113
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   114
   * @note:
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   115
   *    This function only works with CID faces and OpenType fonts, returning
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   116
   *    an error otherwise.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   117
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   118
   * @since:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   119
   *    2.3.9
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   120
   */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   121
  FT_EXPORT( FT_Error )
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   122
  FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   123
                                      FT_Bool  *is_cid );
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   124
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   125
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   126
  /**************************************************************************
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   127
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   128
   * @function:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   129
   *    FT_Get_CID_From_Glyph_Index
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   130
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   131
   * @description:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   132
   *    Retrieve the CID of the input glyph index.
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   133
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   134
   * @input:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   135
   *    face ::
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   136
   *      A handle to the input face.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   137
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   138
   *    glyph_index ::
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   139
   *      The input glyph index.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   140
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   141
   * @output:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   142
   *    cid ::
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   143
   *      The CID as an @FT_UInt.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   144
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   145
   * @return:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   146
   *    FreeType error code.  0~means success.
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   147
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   148
   * @note:
54876
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   149
   *    This function only works with CID faces and OpenType fonts, returning
da3834261f0c 8222362: Upgrade to Freetype 2.10.0
prr
parents: 49234
diff changeset
   150
   *    an error otherwise.
49234
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   151
   *
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   152
   * @since:
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   153
   *    2.3.9
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   154
   */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   155
  FT_EXPORT( FT_Error )
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   156
  FT_Get_CID_From_Glyph_Index( FT_Face   face,
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   157
                               FT_UInt   glyph_index,
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   158
                               FT_UInt  *cid );
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   159
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   160
  /* */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   161
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   162
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   163
FT_END_HEADER
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   164
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   165
#endif /* FTCID_H_ */
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   166
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   167
3375a8039fde 8193017: Import freetype sources into OpenJDK source tree
prr
parents:
diff changeset
   168
/* END */