/*
 * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package com.sun.javafx.font;

import java.lang.ref.WeakReference;
import java.util.Map;

import com.sun.javafx.geom.transform.BaseTransform;

Presently always represent a font file. May extend what this exports as needed.
/** * Presently always represent a font file. * May extend what this exports as needed. */
public interface FontResource { /* Corresponds to FontSmoothingType enum values */ public static final int AA_GREYSCALE = 0; public static final int AA_LCD = 1; /* Font Features - not public API for now */ // CSS naming // public static final int common_ligatures = 1 << 0; // public static final int discretionary_ligatures = 1 << 0; // public static final int historical_ligatures = 1 << 0; // public static final int contextual = 1 << 0; // public static final int small_caps = 1 << 0; // public static final int diagonal_fractions = 1 << 0; // public static final int stacked_fractions = 1 << 0; // public static final int slashed_zero = 1 << 0; // OpenType naming public static final int KERN = 1 << 0; // Kerning public static final int CLIG = 1 << 1; // Contextual Ligatures public static final int DLIG = 1 << 2; // Discretionary Ligatures public static final int HLIG = 1 << 3; // Historical Ligatures public static final int LIGA = 1 << 4; // Standard Ligatures public static final int RLIG = 1 << 5; // Required Liagtures public static final int LIGATURES = CLIG | DLIG | HLIG | LIGA | RLIG; public static final int SMCP = 1 << 6; // Small Capitals public static final int FRAC = 1 << 7; // Fractions public static final int AFRC = 1 << 8; // Alternative Fractions public static final int ZERO = 1 << 9; // Slashed Zero public static final int SWSH = 1 << 10; // Swash public static final int CSWH = 1 << 11; // Contextual Swash public static final int SALT = 1 << 12; // Stylistic Alternates public static final int NALT = 1 << 13; // Alternate Annotation Forms public static final int RUBY = 1 << 14; // Ruby Notation Forms public static final int SS01 = 1 << 15; // Stylistic Set 1 public static final int SS02 = 1 << 16; // Stylistic Set 2 public static final int SS03 = 1 << 17; // Stylistic Set 3 public static final int SS04 = 1 << 18; // Stylistic Set 4 public static final int SS05 = 1 << 19; // Stylistic Set 5 public static final int SS06 = 1 << 20; // Stylistic Set 6 public static final int SS07 = 1 << 21; // Stylistic Set 7 //Note: the last two bits are reserved for layout. See GlyphLayout. public String getFullName(); public String getPSName(); public String getFamilyName(); public String getFileName(); public String getStyleName(); public String getLocaleFullName(); public String getLocaleFamilyName(); public String getLocaleStyleName(); public int getFeatures(); public boolean isBold(); public boolean isItalic(); public float getAdvance(int gc, float size); public float[] getGlyphBoundingBox(int gc, float size, float[] retArr); public int getDefaultAAMode(); public CharToGlyphMapper getGlyphMapper(); public Map<FontStrikeDesc, WeakReference<FontStrike>> getStrikeMap(); public FontStrike getStrike(float size, BaseTransform transform); public FontStrike getStrike(float size, BaseTransform transform, int aaMode); public Object getPeer(); public void setPeer(Object peer); public boolean isEmbeddedFont(); }