fscharactertable.java

来自「利用opensource的开源jar实现生成flash文件」· Java 代码 · 共 665 行 · 第 1/2 页

JAVA
665
字号
    };

    private final static char[] fi_FI = { 
        '\u00A2', // cent sign
        '\u00C4', // upper case letter A with diaresis
        '\u00C5', // upper case letter A with ring above
        '\u00D6', // upper case letter O with diaresis
        '\u00E4', // lower case letter A with diaresis
        '\u00E5', // lower case letter A with ring above
        '\u00F6', // lower case letter O with diaresis
        '\u0160', // upper case letter S with caron
        '\u0161', // lower case letter S with caron
        '\u017D', // upper case letter Z with caron
        '\u017E', // lower case letter z with caron
        '\u20AC', // Euro currency symbol
    };
    
    private final static char[] fr_FR = {
        '\u00A2', // cent sign
        '\u00C0', // upper case letter A with grave
        '\u00C2', // upper case letter A with circumflex
        '\u00C7', // upper case letter C with cedilla
        '\u00C8', // upper case letter E with grave
        '\u00C9', // upper case letter E with acute
        '\u00CA', // upper case letter E with circumflex
        '\u00CB', // upper case letter E with diaresis
        '\u00CE', // upper case letter I with circumflex
        '\u00CF', // upper case letter I with diaresis
        '\u00D4', // upper case letter O with circumflex
        '\u00DA', // upper case letter U with acute
        '\u00DC', // upper case letter U with diaresis
        '\u00E0', // lower case letter A with grave
        '\u00E2', // lower case letter A with circumflex
        '\u00E7', // lower case letter C with cedilla
        '\u00E8', // lower case letter E with grave
        '\u00E9', // lower case letter E with acute
        '\u00EA', // lower case letter E with circumflex
        '\u00EB', // lower case letter E with diaresis
        '\u00EE', // lower case letter I with circumflex
        '\u00EF', // lower case letter I with diaresis
        '\u00F4', // lower case letter O with circumflex
        '\u00FA', // lower case letter U with acute
        '\u00FC', // lower case letter U with diaresis
        '\u0152', // upper case oE ligature
        '\u0153', // lower case oE ligature
        '\u20AC', // Euro currency symbol
    };

    private final static char[] it_IT = {
        '\u00A2', // cent sign
        '\u20AC', // Euro currency symbol
    };

    private final static char[] nl_NL = {
        '\u0132', // upper case IJ ligature
        '\u0133', // lower case IJ ligature
        '\u20AC', // Euro currency symbol
    };

    private final static char[] no_NO = {
        '\u00C5', // upper case letter A with ring above
        '\u00C6', // upper case letter AE
        '\u00D8', // upper case letter O with stroke
        '\u00E5', // lower case letter A with ring above
        '\u00E6', // lower case letter AE
        '\u00F8', // lower case letter O with stroke
    };

    private final static char[] pt_PT = {
        '\u00A2', // cent sign
        '\u00C0', // upper case letter A with grave
        '\u00C1', // upper case letter A with acute
        '\u00C2', // upper case letter A with circumflex
        '\u00C3', // upper case letter A with tilde
        '\u00C7', // upper case letter C with cedilla
        '\u00C9', // upper case letter E with acute
        '\u00CA', // upper case letter E with circumflex
        '\u00CD', // upper case letter I with acute
        '\u00D3', // upper case letter O with acute
        '\u00D4', // upper case letter O with circumflex
        '\u00D5', // upper case letter O with tilde
        '\u00DA', // upper case letter U with acute
        '\u00DC', // upper case letter U with diaresis
        '\u00E0', // lower case letter A with grave
        '\u00E1', // lower case letter A with acute
        '\u00E2', // lower case letter A with circumflex
        '\u00E3', // lower case letter A with tilde
        '\u00E7', // lower case letter C with cedilla
        '\u00E9', // lower case letter E with acute
        '\u00EA', // lower case letter E with circumflex
        '\u00ED', // lower case letter I with acute
        '\u00F3', // lower case letter O with acute
        '\u00F4', // lower case letter O with circumflex
        '\u00F5', // lower case letter O with tilde
        '\u00FA', // lower case letter U with acute
        '\u00FC', // lower case letter U with diaresis
        '\u20AC', // Euro currency symbol
    };

    private final static char[] se_SE = {
        '\u00A2', // cent sign
        '\u00C4', // upper case letter A with diaresis
        '\u00C5', // upper case letter A with ring above
        '\u00D6', // upper case letter O with diaresis
        '\u00DF', // lower case letter Sharp S (German)
        '\u00E4', // lower case letter A with diaresis
        '\u00E5', // lower case letter A with ring above
        '\u00F6', // lower case letter O with diaresis
        '\u20AC', // Euro currency symbol
    };

    /**
     * Return a predefined set of characters. An integer code is used to select 
     * the set to avoid possible formatting issues with names of character sets
     * specified as strings.
     * 
     * @param code a predefine constant identifying the character set to 
     * return.
     * 
     * @return an char[] contains all the characters for a given character 
     * set. If an unknown code is used then an empty array will be returned.
     */
    public static final char[] characterSet(int code)
    {
        char[] set = new char[0];
        int index = 0;
        
        switch (code)
        {
            case euro: set=euroChar; break;
            case iso_646: set=iso_646_chars; break;
            case iso_8859_1:
                set = new char[iso_646_chars.length+iso_8859_1_chars.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<iso_8859_1_chars.length; i++, index++)
                    set[index] = iso_8859_1_chars[i];
                 
                break;
            default:
                break;
        }
        
        return set;
    }
    /**
     * Return a character set for a given country and language. This method is
     * used to generate smaller character sets which will also reduce the size 
     * of the font definitions.
     * 
     * @param locale a Locale identifying the country and optional language 
     * used to select a character set.
     * 
     * @return an array containing all the characters suitable for display
     * using the specified country and language.
     */
    public static final char[] characterSetForLocale(Locale locale)
    {
        char[] set = new char[0];
        
        String country = locale.getCountry();
        String language = locale.getLanguage();
        
        int index = 0;

        if (language.equals("de"))
        {
            if (country.equals("DE"))
            {
                set = new char[iso_646_chars.length+de_DE.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<de_DE.length; i++, index++)
                    set[index] = de_DE[i];            
            }
        }
        else if (language.equals("dk"))
        {
            if (country.equals("DK"))
            {
                set = new char[iso_646_chars.length+dk_DK.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<dk_DK.length; i++, index++)
                    set[index] = dk_DK[i];            
            }
        }
        else if (language.equals("en"))
        {
            if (country.equals("US"))
            {
                set = new char[iso_646_chars.length+en_US.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<en_US.length; i++, index++)
                    set[index] = en_US[i];            
            }
            else if (country.equals("GB") || country.equals("UK"))
            {
                set = new char[iso_646_chars.length+en_GB.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<en_GB.length; i++, index++)
                    set[index] = en_GB[i];            
            }
            else
            {
                set = new char[iso_646_chars.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
            }
        }
        else if (language.equals("es"))
        {
            if (country.equals("ES"))
            {
                set = new char[iso_646_chars.length+es_ES.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<es_ES.length; i++, index++)
                    set[index] = es_ES[i];            
            }
        }
        else if (language.equals("fi"))
        {
            if (country.equals("FI"))
            {
                set = new char[iso_646_chars.length+fi_FI.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<fi_FI.length; i++, index++)
                    set[index] = fi_FI[i];            
            }
        }
        else if (language.equals("fr"))
        {
            if (country.equals("FR"))
            {
                set = new char[iso_646_chars.length+fr_FR.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<fr_FR.length; i++, index++)
                    set[index] = fr_FR[i];            
            }
        }
        else if (language.equals("it"))
        {
            if (country.equals("IT"))
            {
                set = new char[iso_646_chars.length+it_IT.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<it_IT.length; i++, index++)
                    set[index] = it_IT[i];            
            }
        }
        else if (language.equals("nl"))
        {
            if (country.equals("NL"))
            {
                set = new char[iso_646_chars.length+nl_NL.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<nl_NL.length; i++, index++)
                    set[index] = nl_NL[i];            
            }
        }
        else if (language.equals("no"))
        {
            if (country.equals("N0"))
            {
                set = new char[iso_646_chars.length+no_NO.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<no_NO.length; i++, index++)
                    set[index] = no_NO[i];            
            }
        }
        else if (language.equals("pt"))
        {
            if (country.equals("PT"))
            {
                set = new char[iso_646_chars.length+pt_PT.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<pt_PT.length; i++, index++)
                    set[index] = pt_PT[i];            
            }
        }
        else if (language.equals("se"))
        {
            if (country.equals("SE"))
            {
                set = new char[iso_646_chars.length+se_SE.length];
                
                for (int i=0; i<iso_646_chars.length; i++, index++)
                    set[index] = iso_646_chars[i];
                
                for (int i=0; i<se_SE.length; i++, index++)
                    set[index] = se_SE[i];            
            }
        }
        return set;
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?