Có cách nào để giảm kích thước phông chữ .ttf không? tức là nếu chúng ta muốn loại bỏ một số glyps mà chúng ta không sử dụng.Cách giảm kích thước phông chữ .ttf?
Trả lời
Ứng dụng cho mục đích này là gì? Hầu hết các phông chữ đều tương đối nhẹ. TTF lưu trữ dữ liệu vectơ thay vì dữ liệu bitmap, vì vậy phải mất khá ít byte để mô tả hình dạng của mỗi glyph. Ngay cả những phông chữ rất bận cũng có thể được giữ dưới 100kb. Nhiều phông chữ hiện đại đi kèm với gợi ý ClearType, nhưng ngay cả điều này cho biết thêm rất ít kích thước tập tin.
Nếu bạn thực sự muốn lấy một số phông chữ ra khỏi phông chữ, thì bạn sẽ cần một công cụ chỉnh sửa phông chữ (Macromedia có một tên là Trình biên tập phông chữ hiện được sở hữu bởi FontLab). Nhưng có lẽ bạn nên chọn một phông chữ nhẹ hơn. Ví dụ: OCR A Std
chỉ có 30kb và bao gồm gợi ý ClearType cũng như tất cả ký tự ASCII của Hoa Kỳ. Cố gắng tránh phông chữ Unicode vì hỗ trợ Unicode đầy đủ yêu cầu một tấn glyph. Nhưng hầu hết các phông chữ không cung cấp hỗ trợ Unicode đầy đủ.
Cuối cùng, nếu bạn quyết định sửa đổi phông chữ, hãy đảm bảo bạn đặt tên cho chữ khác. Xung đột đặt tên có thể dẫn đến một số bất ngờ thực sự gây phiền nhiễu cho người dùng.
Bạn có thể sử dụng FontForge để giảm kích thước tập tin
này được giải thích tại http://www.cnx-software.com/2010/02/19/reducing-truetype-font-file-size-for-embedded-systems/
Với Google Web Fonts, bạn có thể hạn chế bộ ký tự như:
//fonts.googleapis.com/css?family=FontName&text=Lorem%20Ipsum
này sẽ đặc biệt hữu ích nếu Google có các phông chữ biểu tượng như Font Awesome
Bí quyết gọn gàng, không biết điều đó. Bạn cũng có thể yêu cầu trọng lượng nhất định trong paramater là tốt. (ví dụ: chỉ in đậm, không in nghiêng hoặc bình thường) –
Tôi đã sử dụng fontmin để làm lại ve glyph từ phông chữ ttf.
Nó đã thành công để giảm Noto Sans (trọng lượng = trung bình) từ 20MB xuống dưới 10, nhưng vẫn bao gồm các ký tự tiếng Trung/tiếng Nhật phổ biến.
Tôi đã làm như sau để loại bỏ tất cả các ký tự Cyrillic (chữ cái) khỏi phông chữ, do đó cắt kích thước tệp bằng một nửa vì tôi chỉ cần các chữ cái Latinh.
- được FontForge (https://fontforge.github.io/en-US/)
- bắt đầu FontForge và mở ttf tập tin phông chữ của bạn
- vào Edit -> Chọn -> Chọn By Script
- trên cửa sổ pop up cửa sổ lựa chọn chọn Cyrillic từ trình đơn thả xuống menu. Như bạn có thể đoán, điều này sẽ chỉ đánh dấu các chữ cái Kirin.
- chuyển đến Mã hóa -> Tách & Xóa Glyphs, xác nhận câu hỏi. Xem các chữ cái Cyrillic biến mất như thế nào?
- chuyển đến Mã hóa -> Nhỏ gọn để có cái nhìn tổng quan tốt hơn về các chữ cái còn lại giúp dễ dàng chọn nhiều ứng viên xóa hơn. (Nhưng tôi không dám xóa/xóa chúng theo cách thủ công.)
- chuyển đến Tệp -> Tạo Phông chữ và đừng quên chọn ttf làm định dạng đầu ra.
Hãy xem xét rằng tôi không phải là chuyên gia trong lĩnh vực này. Nhưng tôi cần một giải pháp nhanh.
Ở đây bạn có thể đọc thêm về chủ đề này: http://wiki.unity3d.com/index.php?title=Create_a_new_TrueType_font_using_a_subset_of_characters_from_an_existing_TrueType_font
phông chữ .ttf Complex có thể dễ dàng nhận được lên đến 1MB trở lên. –
@Mark: Có thể phông chữ Big5 hoặc GB hoặc các phông chữ khác có bộ ký tự lớn, nhưng đây là những trường hợp cạnh. Nếu không, ngay cả các phông chữ phương Tây rất phức tạp hiếm khi đạt trên 500KB, và số ít 500KB là cá voi có thể được tối ưu hóa. –
Nhưng bạn đã yêu cầu đơn đăng ký. :) Tôi đang xử lý vấn đề chính xác ngay bây giờ. Ví dụ: –