sun在线教材之-java 2d 文本指南-第一课 使用字体

    技术2022-05-11  92

     

     

     

     

    Training Index

    2D文本指南

    第一课: 使用字体

    作者: Monica PawlanSeptember 1998翻译: Cherami Liumin2001年11月[目录] [下一课>>]

    艺术字本质上是具有字体的简单文本。字体定义了文本串的大小和总体的外观。

    这一课描述了如何使用增强的 java.awt.Font 类创建字体。下一课解释如何使用字体创建和绘制艺术字。

    什么是字体? 查找可用字体 创建和派生字体 练习


    什么是字体?

    字体是一套具有一个点尺寸和外观的字符类型集合。例如所有10点Helvetica英文字符和符号组成一个字体。文本所使用的字体定义特定的外观,大小和式样(黑体,斜体或者普通体)。

    字体如何定义特定外观呢?字体是从字形(glyphs)创建的,一个字形是一个位映象图像,它定义字体中的字符和符号的外观。同一字体家族的字体都有相似的外观,因为他们使用同一个字形创建。同样的,不同的字体家族使用不同的字形得到相互区分的外观。

    一个字体家族不但由具有相似外观的字体组成,还包括不同的大小和式样。Helvetica 10 点黑体和Helvetica 12 point 斜体是同一家族中的两个不同字体,而Times Roman 8 点黑体和Times Roman 10 点普通体是另一个家族的两个不同字体。

    查找可用字体

    为了使用一个字体,你需要创建一个Font对象,而为了做到这个,你需要知道系统中有什么字体可用以及它们的名字。字体有逻辑名、家族名和字体名。逻辑名是被映射到平台上可用的特定字体的名字。 为了得到一个Font对象的逻辑名,调用 java.awt.Font.getName。 家族名是字体家族的名字,它通过不同的外观决定排版图案,例如Helvetica 或者 Times Roman。 为了得到一个Font对象的家族名,调用 java.awt.Font.getFamily。 字体名代表家族中的特定字体,例如Helvetica Bold。
    为了得到一个Font对象的字体名,调用java.awt.Font.getFontName,为了决定系统上哪些字体可用,调用 java.awt.GraphicsEnvironment.getAllFonts。

    创建和派生字体

    创建一个字体的最简单的方法是指定字体名,大小和式样。一旦你有一个Font 对象,你就可以通过调用Font.deriveFont方法在存在的字体上派生任意个新Font对象并指定新的大小,样式,变换(位置,倾斜,缩放或者旋转)或者属性映射。 Font boldFont = new Font("Helvetica", Font.BOLD, 12); Font italicDerived = boldFont.deriveFont(Font.ITALIC, 12); Font plainDerived = boldFont.deriveFont(Font.PLAIN, 14); 一旦你有一个字体,你就可以用它创建一个TextLayout对象并绘制艺术字,这是下一课的主题。

    最新回复(0)