All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.havi.ui.HFontCapabilities Maven / Gradle / Ivy

There is a newer version: 1.3.1
Show newest version
package org.havi.ui;

/*
 * Copyright 2000-2003 by HAVi, Inc. Java is a trademark of Sun
 * Microsystems, Inc. All rights reserved.  
 */

/**

   The {@link org.havi.ui.HFontCapabilities HFontCapabilities} class
   allows applications to query the rendering support for various
   character ranges and individual characters within specified fonts.

*/

public class HFontCapabilities
{
    /**
     * This corresponds to the character range (U+0020..U+007E) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int BASIC_LATIN                            = 1;

    /**
     * This corresponds to the character range (U+00A0..U+00FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int LATIN_1_SUPPLEMENT                     = 2;

    /**
     * This corresponds to the character range (U+0100..U+017F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int LATIN_EXTENDED_A                       = 3;

    /**
     * This corresponds to the character range (U+0180..U+024F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int LATIN_EXTENDED_B                       = 4;

    /**
     * This corresponds to the character range (U+0250..U+02AF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int IPA_EXTENSIONS                         = 5;

    /**
     * This corresponds to the character range (U+02B0..U+02FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int SPACING_MODIFIER_LETTERS               = 6;

    /**
     * This corresponds to the character range (U+0300..U+036F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int COMBINING_DIACRITICAL_MARKS            = 7;

    /**
     * This corresponds to the character range (U+0370..U+03CF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int BASIC_GREEK                            = 8;

    /**
     * This corresponds to the character range (U+3D0..U+3FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int GREEK_SYMBOLS_AND_COPTIC               = 9;

    /**
     * This corresponds to the character range (U+400..U+4FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int CYRILLIC                               = 10;

    /**
     * This corresponds to the character range (U+530..U+58F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int ARMENIAN                               = 11;

    /**
     * This corresponds to the character range (U+5D0..U+5EA) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int BASIC_HEBREW                           = 12;

    /**
     * This corresponds to the character ranges (U+590..U+5CF) and
     * (U+5EB..U+5FF) as defined in ISO 10646-1(E) normative
     * Annex A 
     */
    public static final int HEBREW_EXTENDED                        = 13;

    /**
     * This corresponds to the character range (U+600..U+652) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int BASIC_ARABIC                           = 14;

    /**
     * This corresponds to the character range (U+653..U+6FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int ARABIC_EXTENDED                        = 15;

    /**
     * This corresponds to the character ranges (U+0900..U+097F) and
     * (U+200C..U+200D) as defined in ISO 10646-1(E)
     * normative Annex A 
     */
    public static final int DEVANAGARI                             = 16;

    /**
     * This corresponds to the character ranges (U+980..U+9FF) and
     * (U+200C..U+200D) as defined in ISO 10646-1(E)
     * normative Annex A 
     */
    public static final int BENGALI                                = 17;

    /**
     * This corresponds to the character ranges (U+0A00..U+0A7F) and
     * (U+200C..U+200D) as defined in ISO 10646-1(E)
     * normative Annex A 
     */
    public static final int GURMUKHI                               = 18;

    /**
     * This corresponds to the character ranges (U+0A80..U+0AFF) and
     * (U+200C..U+200D) as defined in ISO 10646-1(E)
     * normative Annex A */
    public static final int GUJARATI                               = 19;

    /**
     * This corresponds to the character ranges (U+0B00..U+0B7F) and
     * (U+200C..U+200D) as defined in ISO 10646-1(E)
     * normative Annex A 
     */
    public static final int ORIYA                                  = 20;

    /**
     * This corresponds to the character ranges (U+0B80..U+0BFF) and
     * (U+200C..U+200D) as defined in ISO 10646-1(E)
     * normative Annex A
     */
    public static final int TAMIL                                  = 21;

    /**
     * This corresponds to the character ranges (U+0C00..U+0C7F) and
     * (U+200C..U+200D) as defined in ISO 10646-1(E)
     * normative Annex A 
     */
    public static final int TELUGU                                 = 22;

    /**
     * This corresponds to the character ranges (U+0C80..U+0CFF) and
     * (U+200C..U+200D) as defined in ISO 10646-1(E)
     * normative Annex A 
     */
    public static final int KANNADA                                = 23;

    /**
     * This corresponds to the character ranges (U+0D00..U+0D7F) and
     * (U+200C..U+200D) as defined in ISO 10646-1(E)
     * normative Annex A 
     */
    public static final int MALAYALAM                                = 24;

    /**
     * This corresponds to the character range (U+0E00..U+0E7F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int THAI                                   = 25;

    /**
     * This corresponds to the character range (U+0E80..U+0EFF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int LAO                                    = 26;

    /**
     * This corresponds to the character range (U+10D0..U+10FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int BASIC_GEORGIAN                         = 27;

    /**
     * This corresponds to the character range (U+10A0..U+10CF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int GEORGIAN_EXTENDED                      = 28;

    /**
     * This corresponds to the character range (U+1100..U+11FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int HANGUL_JAMO                            = 29;

    /**
     * This corresponds to the character range (U+1E00..U+1EFF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int LATIN_EXTENDED_ADDITIONAL              = 30;

    /**
     * This corresponds to the character range (U+1F00..U+1FFF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int GREEK_EXTENDED                         = 31;

    /**
     * This corresponds to the character range (U+2000..U+206F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int GENERAL_PUNCTUATION                    = 32;

    /**
     * This corresponds to the character range (U+2070..U+209F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int SUPERSCRIPTS_AND_SUBSCRIPTS            = 33;

    /**
     * This corresponds to the character range (U+20A0..U+20CF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int CURRENCY_SYMBOLS                       = 34;

    /**
     * This corresponds to the character range (U+20D0..U+20FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int COMBINING_DIACTRICAL_MARKS_FOR_SYMBOLS = 35;

    /**
     * This corresponds to the character range (U+2100..U+214F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int LETTERLIKE_SYMBOLS                     = 36;

    /**
     * This corresponds to the character range (U+2150..U+218F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int NUMBER_FORMS                           = 37;

    /**
     * This corresponds to the character range (U+2190..U+21FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int ARROWS                                 = 38;

    /**
     * This corresponds to the character range (U+2200..U+22FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int MATHEMATICAL_OPERATORS                 = 39;

    /**
     * This corresponds to the character range (U+2300..U+23FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int MISCELLANEOUS_TECHNICAL                = 40;

    /**
     * This corresponds to the character range (U+2400..U+243F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int CONTROL_PICTURES                       = 41;

    /**
     * This corresponds to the character range (U+2440..U+245F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int OPTICAL_CHARACTER_RECOGNITION          = 42;

    /**
     * This corresponds to the character range (U+2460..U+24FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int ENCLOSED_ALPHANUMERICS                 = 43;

    /**
     * This corresponds to the character range (U+2500..U+257F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int BOX_DRAWING                            = 44;

    /**
     * This corresponds to the character range (U+2580..U+259F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int BLOCK_ELEMENTS                         = 45;

    /**
     * This corresponds to the character range (U+25A0..U+25FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int GEOMETRICAL_SHAPES                     = 46;

    /**
     * This corresponds to the character range (U+2600..U+26FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int MISCELLANEOUS_SYMBOLS                  = 47;

    /**
     * This corresponds to the character range (U+2700..U+27BF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int DINGBATS                               = 48;

    /**
     * This corresponds to the character range (U+3000..U+303F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int CJK_SYMBOLS_AND_PUNCTUATION            = 49;

    /**
     * This corresponds to the character range (U+3040..U+309F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int HIRAGANA                               = 50;

    /**
     * This corresponds to the character range (U+30A0..U+30FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int KATAKANA                               = 51;

    /**
     * This corresponds to the character range (U+3100..U+312F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int BOPOMOFO                               = 52;

    /**
     * This corresponds to the character range (U+3130..U+318F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int HANGUL_COMPATIBILITY_JAMO              = 53;

    /**
     * This corresponds to the character range (U+3190..U+319F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int CJK_MISCELLANEOUS                      = 54;

    /**
     * This corresponds to the character range (U+3200..U+32FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int ENCLOSED_CJK_LETTERS_AND_MONTHS        = 55;

    /**
     * This corresponds to the character range (U+3300..U+33FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int CJK_COMPATIBILITY                      = 56;

    /**
     * This corresponds to the character range (U+3400..U+3D2D) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int HANGUL                                 = 57;

    /**
     * This corresponds to the character range (U+3D2E..U+44B7) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int HANGUL_SUPPLEMENTARY_A                 = 58;

    /**
     * This corresponds to the character range (U+44B8..U+4DFF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int HANGUL_SUPPLEMENTARY_B                 = 59;

    /**
     * This corresponds to the character range (U+4E00..U+9FFF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int CJK_UNIFIED_IDEOGRAPHS                 = 60;

    /**
     * This corresponds to the character range (U+E000..U+F8FF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int PRIVATE_USE_AREA                       = 61;

    /**
     * This corresponds to the character range (U+F900..U+FAFF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int CJK_COMPATIBILITY_IDEOGRAPHS           = 62;

    /**
     * This corresponds to the character range (U+FB00..U+FB4F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int ALPHABETIC_PRESENTATION_FORMS_A        = 63;

    /**
     * This corresponds to the character range (U+FB50..U+FDFF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int ARABIC_PRESENTATION_FORMS_A            = 64;

    /**
     * This corresponds to the character range (U+FE20..U+FE2F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int COMBINING_HALF_MARKS                   = 65;

    /**
     * This corresponds to the character range (U+FE30..U+FE4F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int CJK_COMPATIBILITY_FORMS                = 66;

    /**
     * This corresponds to the character range (U+FE50..U+FE6F) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int SMALL_FORM_VARIANTS                    = 67;

    /**
     * This corresponds to the character range (U+FE70..U+FEFE) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int ARABIC_PRESENTATION_FORMS_B            = 68;

    /**
     * This corresponds to the character range (U+FF00..U+FFEF) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int HALFWIDTH_AND_FULLWIDTH_FORMS          = 69;

    /**
     * This corresponds to the character range (U+FFF0..U+FFFD) as defined
     * in ISO 10646-1(E) normative Annex A 
     */
    public static final int SPECIALS                               = 70;

    /**
     * It is not intended that applications should directly construct
     * {@link org.havi.ui.HFontCapabilities HFontCapabilities}
     * objects.  
     * 

* This method is protected to allow the platform to override it * in a different package scope. */ protected HFontCapabilities() { } /** * Returns the set of character ranges as defined in ISO * 10646-1(E) normative Annex A that this font supports, or a * null array if the capabilities of the font are unknown. *

* Support for a character range does not imply that ALL * characters within that range are available in the specified * font. *

* When deciding whether a particular character range * (U+XXXX..U+YYYY) is supported, characters which are in the * GENERAL PUNCTUATION range shall not be considered * for character ranges other than GENERAL * PUNCTUATION. * * @param font The font to query for its support for character * ranges as specified by ISO 10646-1. * @return An array of integer values, as defined in ISO * 10646-1(E) normative Annex A that this font supports, or * null including where the capabilities of the font are unknown. */ public static int[] getSupportedCharacterRanges(java.awt.Font font) { return (null); } /** * * Returns whether a specific character is available within the * specified font, and can be used as defined in ISO * 10646-1(E) specification by the rendering system, e.g. if * rendering of bi-directional text, using * BI-DIRECTIONAL_FORMAT_MARKS is supported * * @param font The font to query for its support for the specified * character. * @param c The character whose presence should be tested. * @return true is the character is available within the font and * can be rendered as defined in the ISO 10646-1(E) * specification, false otherwise. */ public static boolean isCharAvailable(java.awt.Font font, char c) { return (false); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy