jdk/src/share/classes/java/awt/font/OpenType.java
author malenkov
Tue, 29 Oct 2013 17:01:06 +0400
changeset 21278 ef8a3a2a72f2
parent 21244 7c2ac5ca05a2
child 23010 6dadb192ad81
permissions -rw-r--r--
8022746: List of spelling errors in API doc Reviewed-by: alexsch, smarks
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
/*
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 715
diff changeset
     2
 * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 715
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 715
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
 * accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
 *
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 715
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 715
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 715
diff changeset
    23
 * questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
package java.awt.font;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
/**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
 * The <code>OpenType</code> interface represents OpenType and
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
 * TrueType fonts.  This interface makes it possible to obtain
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
 * <i>sfnt</i> tables from the font.  A particular
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
 * <code>Font</code> object can implement this interface.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
 * <p>
537
43192316f353 6638477: Two external URLS referenced in 2D documentation are no longer functioning.
prr
parents: 2
diff changeset
    34
 * For more information on TrueType and OpenType fonts, see the
43192316f353 6638477: Two external URLS referenced in 2D documentation are no longer functioning.
prr
parents: 2
diff changeset
    35
 * OpenType specification.
21244
7c2ac5ca05a2 8026021: more fix of javadoc errors and warnings reported by doclint, see the description
cl
parents: 5506
diff changeset
    36
 * ( <a href="http://www.microsoft.com/typography/otspec/">http://www.microsoft.com/typography/otspec/</a> ).
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
public interface OpenType {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
  /* 51 tag types so far */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
   * Character to glyph mapping.  Table tag "cmap" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
  public final static int       TAG_CMAP        = 0x636d6170;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
   * Font header.  Table tag "head" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
  public final static int       TAG_HEAD        = 0x68656164;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
   * Naming table.  Table tag "name" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
  public final static int       TAG_NAME        = 0x6e616d65;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
   * Glyph data.  Table tag "glyf" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
  public final static int       TAG_GLYF        = 0x676c7966;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
   * Maximum profile.  Table tag "maxp" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
  public final static int       TAG_MAXP        = 0x6d617870;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
   * CVT preprogram.  Table tag "prep" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
  public final static int       TAG_PREP        = 0x70726570;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
   * Horizontal metrics.  Table tag "hmtx" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
  public final static int       TAG_HMTX        = 0x686d7478;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
   * Kerning.  Table tag "kern" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
  public final static int       TAG_KERN        = 0x6b65726e;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
   * Horizontal device metrics.  Table tag "hdmx" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
  public final static int       TAG_HDMX        = 0x68646d78;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
   * Index to location.  Table tag "loca" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
  public final static int       TAG_LOCA        = 0x6c6f6361;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
   * PostScript Information.  Table tag "post" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
  public final static int       TAG_POST        = 0x706f7374;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
   * OS/2 and Windows specific metrics.  Table tag "OS/2"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
   * in the Open Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
  public final static int       TAG_OS2 = 0x4f532f32;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
   * Control value table.  Table tag "cvt "
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
   * in the Open Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
  public final static int       TAG_CVT = 0x63767420;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
   * Grid-fitting and scan conversion procedure.  Table tag
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
   * "gasp" in the Open Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
  public final static int       TAG_GASP        = 0x67617370;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
   * Vertical device metrics.  Table tag "VDMX" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
  public final static int       TAG_VDMX        = 0x56444d58;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
   * Vertical metrics.  Table tag "vmtx" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
  public final static int       TAG_VMTX        = 0x766d7478;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
   * Vertical metrics header.  Table tag "vhea" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
  public final static int       TAG_VHEA        = 0x76686561;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
   * Horizontal metrics header.  Table tag "hhea" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
  public final static int       TAG_HHEA        = 0x68686561;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
   * Adobe Type 1 font data.  Table tag "typ1" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
  public final static int       TAG_TYP1        = 0x74797031;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
   * Baseline table.  Table tag "bsln" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
  public final static int       TAG_BSLN        = 0x62736c6e;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
   * Glyph substitution.  Table tag "GSUB" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
  public final static int       TAG_GSUB        = 0x47535542;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
   * Digital signature.  Table tag "DSIG" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
  public final static int       TAG_DSIG        = 0x44534947;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
   * Font program.   Table tag "fpgm" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
  public final static int       TAG_FPGM        = 0x6670676d;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
   * Font variation.   Table tag "fvar" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
  public final static int       TAG_FVAR        = 0x66766172;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
   * Glyph variation.  Table tag "gvar" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
  public final static int       TAG_GVAR        = 0x67766172;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
   * Compact font format (Type1 font).  Table tag
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
   * "CFF " in the Open Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
  public final static int       TAG_CFF = 0x43464620;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
   * Multiple master supplementary data.  Table tag
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
   * "MMSD" in the Open Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
  public final static int       TAG_MMSD        = 0x4d4d5344;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
   * Multiple master font metrics.  Table tag
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
   * "MMFX" in the Open Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
  public final static int       TAG_MMFX        = 0x4d4d4658;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
   * Baseline data.  Table tag "BASE" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
  public final static int       TAG_BASE        = 0x42415345;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
   * Glyph definition.  Table tag "GDEF" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
  public final static int       TAG_GDEF        = 0x47444546;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
   * Glyph positioning.  Table tag "GPOS" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
  public final static int       TAG_GPOS        = 0x47504f53;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
   * Justification.  Table tag "JSTF" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
  public final static int       TAG_JSTF        = 0x4a535446;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
   * Embedded bitmap data.  Table tag "EBDT" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
  public final static int       TAG_EBDT        = 0x45424454;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
   * Embedded bitmap location.  Table tag "EBLC" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
  public final static int       TAG_EBLC        = 0x45424c43;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
   * Embedded bitmap scaling.  Table tag "EBSC" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
  public final static int       TAG_EBSC        = 0x45425343;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
   * Linear threshold.  Table tag "LTSH" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
  public final static int       TAG_LTSH        = 0x4c545348;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
   * PCL 5 data.  Table tag "PCLT" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
  public final static int       TAG_PCLT        = 0x50434c54;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
   * Accent attachment.  Table tag "acnt" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
  public final static int       TAG_ACNT        = 0x61636e74;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
  /**
21278
ef8a3a2a72f2 8022746: List of spelling errors in API doc
malenkov
parents: 21244
diff changeset
   271
   * Axis variation.  Table tag "avar" in the Open
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
  public final static int       TAG_AVAR        = 0x61766172;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
   * Bitmap data.  Table tag "bdat" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
  public final static int       TAG_BDAT        = 0x62646174;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
   * Bitmap location.  Table tag "bloc" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
  public final static int       TAG_BLOC        = 0x626c6f63;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
   /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
    * CVT variation.  Table tag "cvar" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
    * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
    */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
  public final static int       TAG_CVAR        = 0x63766172;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   293
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
   * Feature name.  Table tag "feat" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
    * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
  public final static int       TAG_FEAT        = 0x66656174;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   299
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
   * Font descriptors.  Table tag "fdsc" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
  public final static int       TAG_FDSC        = 0x66647363;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
   * Font metrics.  Table tag "fmtx" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
  public final static int       TAG_FMTX        = 0x666d7478;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
   * Justification.  Table tag "just" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
  public final static int       TAG_JUST        = 0x6a757374;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
   * Ligature caret.   Table tag "lcar" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
  public final static int       TAG_LCAR        = 0x6c636172;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
   * Glyph metamorphosis.  Table tag "mort" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
  public final static int       TAG_MORT        = 0x6d6f7274;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
   * Optical bounds.  Table tag "opbd" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
  public final static int       TAG_OPBD        = 0x6d6f7274;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
   * Glyph properties.  Table tag "prop" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
  public final static int       TAG_PROP        = 0x70726f70;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
   * Tracking.  Table tag "trak" in the Open
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
   * Type Specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
  public final static int       TAG_TRAK        = 0x7472616b;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349
   * Returns the version of the <code>OpenType</code> font.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
   * 1.0 is represented as 0x00010000.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351
   * @return the version of the <code>OpenType</code> font.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   352
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   353
  public int getVersion();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   354
90ce3da70b43 Initial load
duke
parents:
diff changeset
   355
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   356
   * Returns the table as an array of bytes for a specified tag.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   357
   * Tags for sfnt tables include items like <i>cmap</i>,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   358
   * <i>name</i> and <i>head</i>.  The <code>byte</code> array
90ce3da70b43 Initial load
duke
parents:
diff changeset
   359
   * returned is a copy of the font data in memory.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   360
   * @param     sfntTag a four-character code as a 32-bit integer
90ce3da70b43 Initial load
duke
parents:
diff changeset
   361
   * @return a <code>byte</code> array that is the table that
90ce3da70b43 Initial load
duke
parents:
diff changeset
   362
   * contains the font data corresponding to the specified
90ce3da70b43 Initial load
duke
parents:
diff changeset
   363
   * tag.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   364
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   365
  public byte[] getFontTable(int sfntTag);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   366
90ce3da70b43 Initial load
duke
parents:
diff changeset
   367
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   368
   * Returns the table as an array of bytes for a specified tag.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   369
   * Tags for sfnt tables include items like <i>cmap</i>,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   370
   * <i>name</i> and <i>head</i>.  The byte array returned is a
90ce3da70b43 Initial load
duke
parents:
diff changeset
   371
   * copy of the font data in memory.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   372
   * @param     strSfntTag a four-character code as a
90ce3da70b43 Initial load
duke
parents:
diff changeset
   373
   *            <code>String</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   374
   * @return a <code>byte</code> array that is the table that
90ce3da70b43 Initial load
duke
parents:
diff changeset
   375
   * contains the font data corresponding to the specified
90ce3da70b43 Initial load
duke
parents:
diff changeset
   376
   * tag.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   377
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   378
  public byte[] getFontTable(String strSfntTag);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   379
90ce3da70b43 Initial load
duke
parents:
diff changeset
   380
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   381
   * Returns a subset of the table as an array of bytes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   382
   * for a specified tag.  Tags for sfnt tables include
90ce3da70b43 Initial load
duke
parents:
diff changeset
   383
   * items like <i>cmap</i>, <i>name</i> and <i>head</i>.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   384
   * The byte array returned is a copy of the font data in
90ce3da70b43 Initial load
duke
parents:
diff changeset
   385
   * memory.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   386
   * @param     sfntTag a four-character code as a 32-bit integer
90ce3da70b43 Initial load
duke
parents:
diff changeset
   387
   * @param     offset index of first byte to return from table
90ce3da70b43 Initial load
duke
parents:
diff changeset
   388
   * @param     count number of bytes to return from table
90ce3da70b43 Initial load
duke
parents:
diff changeset
   389
   * @return a subset of the table corresponding to
90ce3da70b43 Initial load
duke
parents:
diff changeset
   390
   *            <code>sfntTag</code> and containing the bytes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   391
   *            starting at <code>offset</code> byte and including
90ce3da70b43 Initial load
duke
parents:
diff changeset
   392
   *            <code>count</code> bytes.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   393
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   394
  public byte[] getFontTable(int sfntTag, int offset, int count);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   395
90ce3da70b43 Initial load
duke
parents:
diff changeset
   396
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   397
   * Returns a subset of the table as an array of bytes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   398
   * for a specified tag.  Tags for sfnt tables include items
90ce3da70b43 Initial load
duke
parents:
diff changeset
   399
   * like <i>cmap</i>, <i>name</i> and <i>head</i>. The
90ce3da70b43 Initial load
duke
parents:
diff changeset
   400
   * <code>byte</code> array returned is a copy of the font
90ce3da70b43 Initial load
duke
parents:
diff changeset
   401
   * data in memory.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   402
   * @param     strSfntTag a four-character code as a
90ce3da70b43 Initial load
duke
parents:
diff changeset
   403
   * <code>String</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   404
   * @param     offset index of first byte to return from table
90ce3da70b43 Initial load
duke
parents:
diff changeset
   405
   * @param     count  number of bytes to return from table
90ce3da70b43 Initial load
duke
parents:
diff changeset
   406
   * @return a subset of the table corresponding to
90ce3da70b43 Initial load
duke
parents:
diff changeset
   407
   *            <code>strSfntTag</code> and containing the bytes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   408
   *            starting at <code>offset</code> byte and including
90ce3da70b43 Initial load
duke
parents:
diff changeset
   409
   *            <code>count</code> bytes.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   410
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   411
  public byte[] getFontTable(String strSfntTag, int offset, int count);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   412
90ce3da70b43 Initial load
duke
parents:
diff changeset
   413
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   414
   * Returns the size of the table for a specified tag. Tags for sfnt
90ce3da70b43 Initial load
duke
parents:
diff changeset
   415
   * tables include items like <i>cmap</i>, <i>name</i> and <i>head</i>.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   416
   * @param     sfntTag a four-character code as a 32-bit integer
90ce3da70b43 Initial load
duke
parents:
diff changeset
   417
   * @return the size of the table corresponding to the specified
90ce3da70b43 Initial load
duke
parents:
diff changeset
   418
   * tag.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   419
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   420
  public int getFontTableSize(int sfntTag);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   421
90ce3da70b43 Initial load
duke
parents:
diff changeset
   422
  /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   423
   * Returns the size of the table for a specified tag. Tags for sfnt
90ce3da70b43 Initial load
duke
parents:
diff changeset
   424
   * tables include items like <i>cmap</i>, <i>name</i> and <i>head</i>.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   425
   * @param     strSfntTag a four-character code as a
90ce3da70b43 Initial load
duke
parents:
diff changeset
   426
   * <code>String</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   427
   * @return the size of the table corresponding to the specified tag.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   428
   */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   429
  public int getFontTableSize(String strSfntTag);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   430
90ce3da70b43 Initial load
duke
parents:
diff changeset
   431
90ce3da70b43 Initial load
duke
parents:
diff changeset
   432
}