📄 font.java
字号:
* @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(FontRenderContext, char[], int, int, int) */ 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(FontRenderContext, char[], int, int, int) */ 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(FontRenderContext, char[], int, int, int) */ 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(FontRenderContext, char[], int, int, int) * * @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 java.awt.font.TextAttribute */ 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. * * @since 1.2 * * @see #getName() * @see #getFamily() */ public String getFontName(Locale lc) { return peer.getFontName(this, lc);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -