cuốn sách gpt4 ai đã làm

Lỗi đặc tả văn bản khi sử dụng file phông chữ truetype với Font.createFont

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 08:00:22 26 4
mua khóa gpt4 Nike

Tôi đã tải xuống phông chữ Helvetica từ fontpalace.com (chỉ cần tìm kiếm Helvetica) và đưa nó vào ứng dụng Java của mình bằng Font.createFont(). Nhưng số liệu phông chữ không áp dụng ở đây, tức là kích thước tối thiểu được tính toán của nhãn là sai.

Ứng dụng ví dụ đơn giản hiển thị vấn đề này:

gói phông chữTest;
nhập java.awt.Font;
import java.io.InputStream;
nhập javax.swing.JFrame;
nhập javax.swing.JLabel;

lớp công khai FontTest mở rộng JFrame {
FontTest công khai() {
Nhãn JLabel = new JLabel("Test");
thử {
Dòng đầu vào là = FontTest.class.getResourceAsStream("Helvetica.ttf");
Phông chữ = Font.createFont(Font.TRUETYPE_FONT, is);
label.setFont(font.deriveFont(12f));
} bắt (Ngoại lệ cũ) {
ex.printStackTrace();
}
thêm(nhãn);
đóng gói();
}

public static void main(String[] args) {
FontTest fontTest = new FontTest();
fontTest.setVisible(true);
}
}

Nếu bạn xóa dòng bằng label.setFont(..), lệnh pack() sẽ hoạt động và cửa sổ sẽ thay đổi kích thước để văn bản có thể đọc được. Tuy nhiên, theo cách này, pack() không hoạt động bình thường, khiến nhãn và cửa sổ bị thay đổi kích thước về kích thước rất nhỏ, cắt đứt văn bản. Tôi gặp phải vấn đề này trên Linux và Windows.

Tôi đã bỏ lỡ điều gì à? Có vẻ như một số tệp phông chữ ttf hoạt động còn một số thì không. Nhưng tôi không thể tìm thấy Helvetica đang hoạt động (Helvetica gốc, không phải Neue Helvetica hay bất cứ thứ gì).

Có ý tưởng gì không?

câu trả lời hay nhất

font.deriveFont lấy số float thay vì số nguyên. Hãy thử label.setFont(font.deriveFont(12f));

Về lỗi đặc tả java - text khi sử dụng file font truetype với Font.createFont, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12931875/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress