font.java
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· Java 代码 · 共 1,329 行 · 第 1/3 页
JAVA
1,329 行
* * @return A string containing the font family name. * * @since 1.2 * * @see getName() * @see getFontName() * @see GraphicsEnvironment.getAvailableFontFamilyNames() */ public String getFamily (){ return peer.getFamily (this);}/** * Returns integer code representing the sum of style flags of this font, a * combination of either {@link PLAIN}, {@link BOLD}, or {@link ITALIC}. * * @return code representing the style of this font. * * @see isPlain() * @see isBold() * @see isItalic() */ public int getStyle (){ return peer.getStyle (this);}/** * Checks if specified character maps to a glyph in this font. * * @param c The character to check. * * @return Whether the character has a corresponding glyph in this font. * * @since 1.2 */ public boolean canDisplay (char c){ return peer.canDisplay (this, c); }/** * Checks how much of a given string can be mapped to glyphs in * this font. * * @param s The string to check. * * @return The index of the first character in <code>s</code> which cannot * be converted to a glyph by this font, or <code>-1</code> if all * characters can be mapped to glyphs. * * @since 1.2 */ public int canDisplayUpTo (String s){ return peer.canDisplayUpTo (this, new StringCharacterIterator (s), 0, s.length () - 1);}/** * Checks how much of a given sequence of text can be mapped to glyphs in * this font. * * @param text Array containing the text to check. * @param start Position of first character to check in <code>text</code>. * @param limit Position of last character to check in <code>text</code>. * * @return The index of the first character in the indicated range which * cannot be converted to a glyph by this font, or <code>-1</code> if all * characters can be mapped to glyphs. * * @since 1.2 * * @throws IndexOutOfBoundsException if the range [start, limit] is * invalid in <code>text</code>. */ public int canDisplayUpTo (char[] text, int start, int limit){ return peer.canDisplayUpTo (this, new StringCharacterIterator (new String (text)), start, limit);}/** * Checks how much of a given sequence of text can be mapped to glyphs in * this font. * * @param i Iterator over the text to check. * @param start Position of first character to check in <code>i</code>. * @param limit Position of last character to check in <code>i</code>. * * @return The index of the first character in the indicated range which * cannot be converted to a glyph by this font, or <code>-1</code> if all * characters can be mapped to glyphs. * * @since 1.2 * * @throws IndexOutOfBoundsException if the range [start, limit] is * invalid in <code>i</code>. */ public int canDisplayUpTo (CharacterIterator i, int start, int limit){ return peer.canDisplayUpTo (this, i, start, limit); }/** * Creates a new font with point size 1 and {@link PLAIN} style, * reading font data from the provided input stream. The resulting font * can have further fonts derived from it using its * <code>deriveFont</code> method. * * @param fontFormat Integer code indicating the format the font data is * in.Currently this can only be {@link TRUETYPE_FONT}. * @param is {@link InputStream} from which font data will be read. This * stream is not closed after font data is extracted. * * @return A new {@link Font} of the format indicated. * * @throws IllegalArgumentException if <code>fontType</code> is not * recognized. * @throws FontFormatException if data in InputStream is not of format * indicated. * @throws IOException if insufficient data is present on InputStream. * * @since 1.3 */ public static Font createFont (int fontFormat, InputStream is) throws FontFormatException, IOException{ return tk().createFont (fontFormat, is);}/** * Maps characters to glyphs in a one-to-one relationship, returning a new * {@link GlyphVector} with a mapped glyph for each input character. This * sort of mapping is often sufficient for some scripts such as Roman, but * is inappropriate for scripts with special shaping or contextual layout * requirements such as Arabic, Indic, Hebrew or Thai. * * @param ctx The rendering context used for precise glyph placement. * @param str The string to convert to Glyphs. * * @return A new {@link GlyphVector} containing glyphs mapped from str, * through the font's cmap table. * * @see layoutGlyphVector() */ public GlyphVector createGlyphVector (FontRenderContext ctx, String str){ return peer.createGlyphVector (this, ctx, new StringCharacterIterator (str));}/** * Maps characters to glyphs in a one-to-one relationship, returning a new * {@link GlyphVector} with a mapped glyph for each input character. This * sort of mapping is often sufficient for some scripts such as Roman, but * is inappropriate for scripts with special shaping or contextual layout * requirements such as Arabic, Indic, Hebrew or Thai. * * @param ctx The rendering context used for precise glyph placement. * @param i Iterator over the text to convert to glyphs. * * @return A new {@link GlyphVector} containing glyphs mapped from str, * through the font's cmap table. * * @see layoutGlyphVector() */ public GlyphVector createGlyphVector (FontRenderContext ctx, CharacterIterator i){ return peer.createGlyphVector (this, ctx, i);}/** * Maps characters to glyphs in a one-to-one relationship, returning a new * {@link GlyphVector} with a mapped glyph for each input character. This * sort of mapping is often sufficient for some scripts such as Roman, but * is inappropriate for scripts with special shaping or contextual layout * requirements such as Arabic, Indic, Hebrew or Thai. * * @param ctx The rendering context used for precise glyph placement. * @param chars Array of characters to convert to glyphs. * * @return A new {@link GlyphVector} containing glyphs mapped from str, * through the font's cmap table. * * @see layoutGlyphVector() */ public GlyphVector createGlyphVector (FontRenderContext ctx, char[] chars){ return peer.createGlyphVector (this, ctx, new StringCharacterIterator (new String (chars)));}/** * Extracts a sequence of glyphs from a font, returning a new {@link * GlyphVector} with a mapped glyph for each input glyph code. * * @param ctx The rendering context used for precise glyph placement. * @param glyphCodes Array of characters to convert to glyphs. * * @return A new {@link GlyphVector} containing glyphs mapped from str, * through the font's cmap table. * * @see layoutGlyphVector() * * @specnote This method is documented to perform character-to-glyph * conversions, in the Sun documentation, but its second parameter name is * "glyphCodes" and it is not clear to me why it would exist if its * purpose was to transport character codes inside integers. I assume it * is mis-documented in the Sun documentation. */ public GlyphVector createGlyphVector (FontRenderContext ctx, int[] glyphCodes){ return peer.createGlyphVector (this, ctx, glyphCodes);}/** * Produces a new {@link Font} based on the current font, adjusted to a * new size and style. * * @param style The style of the newly created font. * @param size The size of the newly created font. * * @return A clone of the current font, with the specified size and style. * * @since 1.2 */ public Font deriveFont (int style, float size){ return peer.deriveFont (this, style, size);}/** * Produces a new {@link Font} based on the current font, adjusted to a * new size. * * @param size The size of the newly created font. * * @return A clone of the current font, with the specified size. * * @since 1.2 */ public Font deriveFont (float size){ return peer.deriveFont (this, size);}/** * Produces a new {@link Font} based on the current font, adjusted to a * new style. * * @param style The style of the newly created font. * * @return A clone of the current font, with the specified style. * * @since 1.2 */ public Font deriveFont (int style){ return peer.deriveFont (this, style);}/** * Produces a new {@link Font} based on the current font, adjusted to a * new style and subjected to a new affine transformation. * * @param style The style of the newly created font. * @param a The transformation to apply. * * @return A clone of the current font, with the specified style and * transform. * * @throws IllegalArgumentException If transformation is * <code>null</code>. * * @since 1.2 */ public Font deriveFont (int style, AffineTransform a){ if (a == null) throw new IllegalArgumentException ("Affine transformation is null"); return peer.deriveFont (this, style, a);}/** * Produces a new {@link Font} based on the current font, subjected * to a new affine transformation. * * @param a The transformation to apply. * * @return A clone of the current font, with the specified transform. * * @throws IllegalArgumentException If transformation is * <code>null</code>. * * @since 1.2 */ public Font deriveFont (AffineTransform a){ if (a == null) throw new IllegalArgumentException ("Affine transformation is null"); return peer.deriveFont (this, a);}/** * Produces a new {@link Font} based on the current font, adjusted to a * new set of attributes. * * @param attributes Attributes of the newly created font. * * @return A clone of the current font, with the specified attributes. * * @since 1.2 */ public Font deriveFont (Map attributes){ return peer.deriveFont (this, attributes);}/** * Returns a map of chracter attributes which this font currently has set. * * @return A map of chracter attributes which this font currently has set. * * @see getAvailableAttributes() * @see java.text.AttributedCharacterIterator.Attribute * @see java.awt.font.TextAttribute */ public Map getAttributes (){ return peer.getAttributes (this);}/** * Returns an array of chracter attribute keys which this font understands. * * @return An array of chracter attribute keys which this font understands. * * @see getAttributes() * @see java.text.AttributedCharacterIterator.Attribute * @see java.awt.font.TextAttribute */ public AttributedCharacterIterator.Attribute[] getAvailableAttributes(){ return peer.getAvailableAttributes (this);}/** * Returns a baseline code (one of {@link ROMAN_BASELINE}, {@link * CENTER_BASELINE} or {@link HANGING_BASELINE}) indicating which baseline * this font will measure baseline offsets for, when presenting glyph * metrics for a given character. * * Baseline offsets describe the position of a glyph relative to an * invisible line drawn under, through the center of, or over a line of * rendered text, respectively. Different scripts use different baseline * modes, so clients should not assume all baseline offsets in a glyph * vector are from a common baseline. * * @param c The character code to select a baseline mode for. * * @return The baseline mode which would be used in a glyph associated * with the provided character. * * @since 1.2 * * @see LineMetrics.getBaselineOffsets() */ public byte getBaselineFor (char c){ return peer.getBaselineFor (this, c);}/** * Returns the family name of this font. A family name describes a * typographic style (such as Helvetica or Palatino). It is more specific * than a logical font name (such as Sans Serif) but less specific than a * font face name (such as Helvetica Bold). * * @param lc The locale in which to describe the name of the font family. * * @return A string containing the font family name, localized for the * provided locale. * * @since 1.2 * * @see getName() * @see getFontName() * @see GraphicsEnvironment.getAvailableFontFamilyNames() * @see Locale */ public String getFamily (Locale lc){ return peer.getFamily (this, lc); }/** * Returns a font appropriate for the given attribute set. * * @param attributes The attributes required for the new font. * * @return A new Font with the given attributes. * * @since 1.2 * * @see TextAttribure */ public static Font getFont (Map attributes){ return getFontFromToolkit (null, attributes);}/** * Returns the font face name of the font. A font face name describes a * specific variant of a font family (such as Helvetica Bold). It is more * specific than both a font family name (such as Helvetica) and a logical * font name (such as Sans Serif). * * @return The font face name of the font. * * @since 1.2 * * @see getName() * @see getFamily() */ public String getFontName (){ return peer.getFontName (this);}/** * Returns the font face name of the font. A font face name describes a * specific variant of a font family (such as Helvetica Bold). It is more * specific than both a font family name (such as Helvetica). * * @param lc The locale in which to describe the name of the font face. * * @return A string containing the font face name, localized for the * provided locale.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?