자바에서는 폰트 에 속하는 클래스입니다. java.awt 패키지. 직렬화 가능 인터페이스를 구현합니다. FontUIResource는 Java Font 클래스의 직접적으로 알려진 하위 클래스입니다.
자바 문자열 다듬기
텍스트를 렌더링하는 데 사용되는 글꼴을 나타냅니다. Java에는 글꼴을 나타내는 데 사용되는 두 가지 기술 용어가 있습니다. 문자 그리고 글리프 .
Java의 글꼴 유형
Java에는 두 가지 유형의 글꼴이 있습니다.
- 물리적 글꼴
- 논리적 글꼴
물리적 글꼴
물리적 글꼴은 실제 Java 글꼴 라이브러리입니다. 여기에는 다음과 같은 글꼴 기술을 사용하여 문자 시퀀스를 글리프 시퀀스에 매핑하는 테이블이 포함되어 있습니다. 트루타입 글꼴 (TTF) 및 포스트스크립트 유형 1 글꼴 . 모든 Java 구현은 TTF를 지원해야 합니다. 다른 글꼴 기술을 사용하는 것은 구현에 따라 다릅니다. 물리적 글꼴에는 다음과 같은 이름이 포함됩니다. 헬베티카, 팔라티노, 혼민초 , 기타 글꼴 이름.
물리적 글꼴의 특성은 다음과 같은 제한된 쓰기 시스템 세트를 사용한다는 것입니다. 라틴 문자 아니면 단지 일본어 그리고 기본 라틴어 문자. 구성 변경에 따라 달라질 수 있습니다. 응용 프로그램에 특정 글꼴이 필요한 경우 사용자는 다음을 사용하여 해당 글꼴을 묶고 인스턴스화할 수 있습니다. 생성폰트() Java Font 클래스의 메소드입니다.
논리적 글꼴
자바는 정의한다 다섯 논리적 글꼴 모음은 다음과 같습니다. 세리프, 산세리프, 고정 폭, 대화 상자, 그리고 대화 상자 입력 . JRE에서 지원해야 합니다. JRE는 논리적 글꼴 이름을 실제 글꼴 라이브러리가 아니기 때문에 물리적 글꼴에 매핑합니다. 일반적으로 매핑 구현은 로케일에 따라 다릅니다. 넓은 범위의 문자를 포괄하기 위해 각 논리적 글꼴 이름은 여러 물리적 글꼴에 매핑됩니다.
예를 들어, 다음과 같은 AWT 구성요소는 상표 그리고 텍스트 필드 논리 글꼴만 사용합니다.
글꼴 및 이름
글꼴에는 Heavy, Regular, Medium, Oblique, Gothic 등과 같은 다양한 글꼴이 있을 수 있습니다. 모든 글꼴은 비슷한 타이포그래피 디자인을 가지고 있습니다.
Font 객체에는 다음과 같은 세 가지 이름이 있습니다.
Java Font 클래스는 호스트 시스템의 시스템 리소스에 있는 글꼴 모음의 글꼴 인스턴스를 나타냅니다. 글꼴의 예로는 Arial Bold, Courier Bold Italic 등이 있습니다. 글꼴(각각 크기, 스타일, 변환 및 글꼴 기능이 다름)은 여러 Font 객체와 연관될 수 있습니다.
글꼴 클래스 필드
수정자 | 필드 | 설명 |
---|---|---|
정적 정수 | 용감한 | 굵은 스타일 상수입니다. |
정적 정수 | CENTER_BASELINE | 텍스트를 배치할 때 중국어, 일본어, 한국어와 같은 표의 문자에 사용되는 기준선입니다. |
정적 문자열 | 대화 | 논리 글꼴 'Dialog'의 정식 계열 이름에 대한 문자열 상수입니다. |
정적 문자열 | DIALOG_INPUT | 논리 글꼴 'DialogInput'의 정식 계열 이름에 대한 문자열 상수입니다. |
정적 정수 | HANGING_BASELINE | Devanigiri 및 유사한 스크립트에서 텍스트 레이아웃을 지정할 때 사용되는 기준선입니다. |
정적 정수 | 이탤릭체 | 기울임꼴 스타일 상수입니다. |
정적 정수 | LAYOUT_LEFT_TO_RIGHT | Bidi 분석에 따라 텍스트가 왼쪽에서 오른쪽으로 결정됨을 나타내는layoutGlyphVector에 대한 플래그입니다. |
정적 정수 | LAYOUT_NO_LIMIT_CONTEXT | 표시된 제한 이후 char 배열의 텍스트를 검사해서는 안 됨을 나타내는layoutGlyphVector에 대한 플래그입니다. |
정적 정수 | LAYOUT_NO_START_CONTEXT | 표시된 시작 전 char 배열의 텍스트를 검사해서는 안 됨을 나타내는layoutGlyphVector에 대한 플래그입니다. |
정적 정수 | LAYOUT_RIGHT_TO_LEFT | Bidi 분석에 따라 텍스트가 오른쪽에서 왼쪽으로 표시됨을 나타내는layoutGlyphVector에 대한 플래그입니다. |
정적 문자열 | 고정폭 | 논리 글꼴 'Monospaced'의 정식 계열 이름에 대한 문자열 상수입니다. |
정적 문자열 | 이름 | 생성자에 전달된 이 글꼴의 논리적 이름입니다. |
정적 정수 | 솔직한 | 일반 스타일 상수입니다. |
정적 부동 | 포인트 크기 | 이 글꼴의 포인트 크기(float)입니다. |
정적 정수 | ROMAN_BASELINE | 텍스트를 배치할 때 대부분의 로마자 스크립트에서 사용되는 기준선입니다. |
정적 문자열 | 산세 리프 | 논리 글꼴 'SansSerif'의 정식 계열 이름에 대한 문자열 상수입니다. |
정적 문자열 | 가는 장식 선 | 논리 글꼴 'Serif'의 정식 계열 이름에 대한 문자열 상수입니다. |
보호된 정수 | 크기 | 정수로 반올림된 이 글꼴의 포인트 크기입니다. |
보호된 정수 | 스타일 | 생성자에 전달된 이 글꼴의 스타일입니다. |
정적 정수 | TRUETYPE_FONT | TRUETYPE 유형의 글꼴 리소스를 식별합니다. |
정적 정수 | TYPE1_FONT | TYPE1 유형의 글꼴 리소스를 식별합니다. |
글꼴 클래스 생성자
건설자 | 설명 |
---|---|
글꼴(글꼴 글꼴) | 지정된 글꼴에서 새 글꼴을 만듭니다. |
글꼴(지도 속성) | 지정된 속성을 사용하여 새 글꼴을 만듭니다. |
Font(문자열 이름, int 스타일, int 크기) | 지정된 이름, 스타일 및 포인트 크기로 새 글꼴을 만듭니다. |
글꼴 클래스 메서드
행동 양식 | 설명 |
---|---|
canDisplay(문자 c) | 이 글꼴에 지정된 문자에 대한 문자 모양이 있는지 확인합니다. |
canDisplay(int codePoint) | 이 글꼴에 지정된 문자에 대한 문자 모양이 있는지 확인합니다. |
canDisplayUpTo(char[] 텍스트, int 시작, int 제한) | 이 글꼴이 시작에서 시작하여 제한에서 끝나는 지정된 텍스트의 문자를 표시할 수 있는지 여부를 나타냅니다. |
canDisplayUpTo(CharacterIterator 경로, int 시작, int 제한) | 이 글꼴이 시작에서 시작하여 제한에서 끝나는 iter에 의해 지정된 텍스트를 표시할 수 있는지 여부를 나타냅니다. |
canDisplayUpTo(문자열 문자열) | 이 글꼴이 지정된 문자열을 표시할 수 있는지 여부를 나타냅니다. |
createFont(int 글꼴형식, 파일 글꼴파일) | 지정된 글꼴 유형과 지정된 글꼴 파일을 사용하여 새 글꼴을 반환합니다. |
createFont(int 글꼴형식, 입력스트림 글꼴스트림) | 지정된 글꼴 유형과 입력 데이터를 사용하여 새 글꼴을 반환합니다. |
createGlyphVector(FontRenderContext frc, char[] chars) | 이 글꼴의 유니코드 cmap을 기반으로 문자를 글리프에 일대일로 매핑하여 GlyphVector를 생성합니다. |
createGlyphVector(FontRenderContext frc, CharacterIterator ci) | 이 글꼴의 유니코드 cmap을 기반으로 지정된 문자를 글리프에 일대일로 매핑하여 GlyphVector를 생성합니다. |
createGlyphVector(FontRenderContext frc, int[] glyphCodes) | 이 글꼴의 유니코드 cmap을 기반으로 문자를 글리프에 일대일로 매핑하여 GlyphVector를 생성합니다. |
createGlyphVector(FontRenderContext frc, 문자열 str) | 이 글꼴의 유니코드 cmap을 기반으로 문자를 글리프에 일대일로 매핑하여 GlyphVector를 생성합니다. |
디코드(문자열 문자열) | str 인수가 설명하는 글꼴을 반환합니다. |
파생폰트(AffineTransform trans) | 현재 Font 개체를 복제하고 여기에 새 변환을 적용하여 새 Font 개체를 만듭니다. |
파생 글꼴(플로트 크기) | 현재 Font 개체를 복제하고 여기에 새 크기를 적용하여 새 Font 개체를 만듭니다. |
파생 글꼴(정수 스타일) | 현재 Font 개체를 복제하고 여기에 새 스타일을 적용하여 새 Font 개체를 만듭니다. |
deriveFont(int 스타일, AffineTransform trans) | 이 Font 개체를 복제하고 새 스타일과 변환을 적용하여 새 Font 개체를 만듭니다. |
파생 글꼴(int 스타일, 부동 소수점 크기) | 이 Font 개체를 복제하고 새 스타일과 크기를 적용하여 새 Font 개체를 만듭니다. |
파생 글꼴(지도 속성) | 현재 Font 객체를 복제하고 여기에 새로운 글꼴 속성 세트를 적용하여 새로운 Font 객체를 생성합니다. |
같음(객체 obj) | 이 Font 개체를 지정된 개체와 비교합니다. |
get속성() | 이 글꼴에서 사용할 수 있는 글꼴 속성의 맵을 반환합니다. |
getAvailableAttributes() | 이 글꼴이 지원하는 모든 속성의 키를 반환합니다. |
getBaselineFor(문자 c) | 이 문자를 표시하는 데 적합한 기준선을 반환합니다. |
getFamily() | 이 글꼴의 이름을 반환합니다. |
getFamily(로케일 l) | 지정된 로케일에 대해 지역화된 이 글꼴의 이름을 반환합니다. |
getFont(지도 속성) | 속성에 적합한 글꼴을 반환합니다. |
getFont(문자열 nm) | 시스템 속성 목록에서 Font 개체를 반환합니다. |
getFont(문자열 nm, 글꼴 글꼴) | 시스템 속성 목록에서 지정된 글꼴을 가져옵니다. |
getFontName() | 이 글꼴의 글꼴 이름을 반환합니다. |
getFontName(로케일 l) | 지정된 로케일에 대해 지역화된 글꼴의 글꼴 이름을 반환합니다. |
getItalicAngle() | 이 글꼴의 기울임꼴 각도를 반환합니다. |
getLineMetrics(char[] chars, int startIndex, int 제한, FontRenderContext frc) | 지정된 인수로 생성된 LineMetrics 개체를 반환합니다. |
getLineMetrics(CharacterIterator ci, int startIndex, int 제한, FontRenderContext frc) | 지정된 인수로 생성된 LineMetrics 개체를 반환합니다. |
getLineMetrics(문자열 str, FontRenderContext frc) | 지정된 String 및 FontRenderContext를 사용하여 생성된 LineMetrics 개체를 반환합니다. |
getLineMetrics(문자열 str, int startIndex, int 제한, FontRenderContext frc) | 지정된 인수로 생성된 LineMetrics 개체를 반환합니다. |
getMaxCharBounds(FontRenderContext frc) | 지정된 FontRenderContext에 정의된 최대 범위를 사용하여 문자의 범위를 반환합니다. |
getMissingGlyphCode() | 이 글꼴에 지정된 유니코드 코드 포인트에 대한 문자 모양이 없을 때 사용되는 glyphCode를 반환합니다. |
getName() | 이 글꼴의 논리적 이름을 반환합니다. |
getNumGlyphs() | 이 글꼴의 글리프 수를 반환합니다. |
getPeer() | 글꼴 렌더링은 이제 플랫폼 독립적입니다. |
getPS이름() | 이 글꼴의 포스트스크립트 이름을 반환합니다. |
getSize() | 이 글꼴의 포인트 크기를 정수로 반올림하여 반환합니다. |
getSize2D() | 이 글꼴의 포인트 크기를 부동 소수점 값으로 반환합니다. |
getStringBounds(char[] chars, int startIndex, int 제한, FontRenderContext frc) | 지정된 FontRenderContext에 지정된 문자 배열의 논리적 범위를 반환합니다. |
getStringBounds(CharacterIterator ci, int startIndex, int 제한, FontRenderContext frc) | 지정된 FontRenderContext의 지정된 CharacterIterator에 인덱싱된 문자의 논리적 범위를 반환합니다. |
getStringBounds(문자열 str, FontRenderContext frc) | 지정된 FontRenderContext에 지정된 문자열의 논리적 범위를 반환합니다. |
getStringBounds(문자열 str, int startIndex, int 제한, FontRenderContext frc) | 지정된 FontRenderContext에 지정된 문자열의 논리적 범위를 반환합니다. |
getStyle() | 이 글꼴의 스타일을 반환합니다. |
getTransform() | 이 글꼴과 관련된 변환 복사본을 반환합니다. |
해시 코드() | 이 글꼴에 대한 해시코드를 반환합니다. |
hasLayoutAttributes() | 이 글꼴에 추가 레이아웃 처리가 필요한 속성이 포함되어 있으면 true를 반환합니다. |
hasUniformLineMetrics() | 이 글꼴에 균일한 라인 메트릭이 있는지 확인합니다. |
isBold() | 이 Font 객체의 스타일이 굵게 표시되는지 여부를 나타냅니다. |
이탤릭체() | 이 Font 객체의 스타일이 ITALIC인지 여부를 나타냅니다. |
isPlain() | 이 Font 객체의 스타일이 PLAIN인지 여부를 나타냅니다. |
isTransformed() | 이 Font 객체에 Size 속성 외에 크기에 영향을 미치는 변환이 있는지 여부를 나타냅니다. |
레이아웃GlyphVector(FontRenderContext frc, char[] 텍스트, int 시작, int 제한, int 플래그) | 가능한 경우 텍스트의 전체 레이아웃을 수행하여 새 GlyphVector 개체를 반환합니다. |
toString() | 이 Font 객체를 문자열 표현으로 변환합니다. |
Java Font의 예를 살펴보겠습니다.
JavaFontExample.java
import java.applet.Applet; import java.awt.Font; import java.awt.Graphics; public class JavaFontExample extends Applet { public void paint(Graphics gph) { //creating a constructor of the font class and passing name, style, and size of the font //we can change these three parameters accordingly Font font= new Font('Courier', Font.PLAIN, 20); //setting font by invoking the setFont() method gph.setFont(font); gph.drawString('Javatpoint is the best learning platform.', 12, 45); } }
위의 프로그램을 실행하려면 아래 단계를 따르십시오.
나. 위 코드를 복사해서 붙여넣고 해당 이름으로 파일을 저장하세요. JavaFontExample.java.
ii. HTM 파일을 생성하고 다음 코드를 작성합니다.
JavaFontExample.html
iii. 명령 프롬프트를 열고 다음 명령을 실행합니다.
JavaFontExample.java appletviewer JavaFontExample.java
출력 1:
다음 출력을 얻으려면 다음 문을 변경합니다.
Font font= new Font('Monospaced', Font.ITALIC, 30); //name, face and size of font is changed
출력 2: