Điều này có thể hoặc không phù hợp với hóa đơn của bạn, nhưng thông dịch viên tôi viết (xpost) sử dụng Cairo cho tất cả các chức năng đồ họa và phông chữ, bao gồm show
. Vì vậy, bất cứ sự hỗ trợ nào mà Cairo cung cấp, xpost không cản trở. Nhưng trước khi bạn quá phấn khích, đó là một dự án một người, và chưa hoàn toàn cung cấp đầy đủ Postscript 1-Level.
Chỉnh sửa: Phiên bản mới nhất không hỗ trợ tính năng này. Here là phiên bản cuối cùng đã thực hiện (listing).
Đây là mã C của tôi cho chính nhà điều hành chương trình.
OPFN_ void show(state *st, object s) {
char str[s.u.c.n+1];
memcpy(str, STR(s), s.u.c.n); str[s.u.c.n] = '\0';
//printf("showing (%s)\n", str);
if (st->cr) {
cairo_show_text(st->cr, str);
cairo_surface_flush(st->surface);
XFlush(st->dis);
}
}
Và từ Cairo docs:
cairo_show_text()
trống cairo_show_text (cairo_t * cr,
const char * utf8);
Toán tử vẽ tạo hình dạng từ chuỗi ký tự UTF-8, được hiển thị theo font_face hiện tại, font_size (font_matrix) và font_options.
Chức năng này trước tiên tính toán một bộ glyph cho chuỗi văn bản. Glyph đầu tiên được đặt để nguồn gốc của nó là tại điểm hiện tại. Nguồn gốc của mỗi glyph tiếp theo được bù đắp từ đó của glyph trước đó bởi các giá trị trước của glyph trước đó.
Sau cuộc gọi này, điểm hiện tại được di chuyển đến nguồn gốc của hình chữ nhật tiếp theo sẽ được đặt trong cùng tiến trình này. Nghĩa là, điểm hiện tại sẽ ở gốc của giá trị bù trừ glyph cuối cùng bởi các giá trị trước của nó. Điều này cho phép hiển thị dễ dàng một chuỗi lôgic đơn với nhiều cuộc gọi đến cairo_show_text().
Lưu ý: Cuộc gọi hàm cairo_show_text() là một phần của những gì nhà thiết kế cairo gọi API văn bản "đồ chơi". Nó rất thuận tiện cho các bản demo ngắn và các chương trình đơn giản, nhưng nó không được dự kiến là đủ cho các ứng dụng sử dụng văn bản nghiêm trọng. Xem cairo_show_glyphs() cho API hiển thị văn bản "thực" trong cairo.
http://www.cairographics.org/manual/cairo-text.html#cairo-show-text
Vì vậy, nó là UTF-8 trong Postscript, gần như tôi có thể hình dung! :)
tks, nó thực sự khó xử, và một cái gì đó plaftorm phụ thuộc (trên đầu trang của font phụ thuộc); nhưng cho đến nay nó là bước duy nhất đúng hướng tôi đã nhìn thấy – Javier