2012-04-26 28 views
7

Mã trên StackOverflow và các trang web khác đề nghị this for displaying unicode trên iOS:Mã hiển thị phông chữ chữ tượng hình Ai Cập dựa trên Unicode gồm 5 chữ số trên iOS là gì?

[view1 setText:@"\uF300"]; 

này hoạt động đối với hầu hết các ký tự unicode, tuy nhiên, điều này là không cho một Egyptian hieroglyphic unicode font (chờ phông chữ lớn để tải).

Unicode chữ tượng hình có thêm một chữ số (tức là "\ uF3001" thay vì "\ uF300"). Kết quả là, ký tự sai được hiển thị và dấu "1" ở bên trái.

Rõ ràng là iOS có thể hiển thị phông chữ chữ tượng hình. Ví dụ, nếu bạn cắt và dán glyph() này vào một câu lệnh setText, sau khi nhập TTF, glyph có thể được nhìn thấy trên màn hình iOS. Vì vậy, câu hỏi là, làm thế nào để hiển thị một ký tự unicode trong một câu lệnh setText sử dụng một phông chữ unicode cần năm chữ số thay vì bốn chữ số (tức là "\ uF3001")?

+2

U + F3001 là sử dụng riêng tư, vì vậy nó sẽ * chỉ * hiển thị những gì bạn muốn nếu bạn sử dụng * chính xác * phông chữ phù hợp (nhưng bạn có thể biết điều đó). Bạn có thể thử sử dụng '\ uDB8C \ uDC01' (là UTF-16 cho U + F3001) và xem nó có hoạt động hay không. –

+0

Trên thực tế, biến thể ẩn Unicode bốn chữ số thập phân * không * hoạt động đối với hầu hết các điểm mã Unicode. Bạn có 17 máy bay và chỉ có thể xử lý một trong số chúng bằng phương pháp này. – Joey

Trả lời

8

Thực tế, miễn là bạn sử dụng số vốn 'U', bạn có thể chỉ định tối đa 8 chữ số như: "\ U000F3001".

+1

Điều đó có hiệu quả - cảm ơn! – Praxiteles

0

Nó không phải là có thể thông qua phương pháp mà bạn đang sử dụng:

https://developer.apple.com/library/ios/#documentation/MacOSX/Conceptual/BPInternational/Articles/NotesForLocalizers.html

Strings có thể bao gồm các ký tự Unicode tùy ý với “\ U” tiếp theo lên đến bốn chữ số thập lục phân biểu thị Unicode tính cách; cho ví dụ , không gian, là hệ thập lục phân 20, được biểu thị là “\ U0020”. Tùy chọn này hữu ích nếu các chuỗi phải bao gồm các ký tự Unicode mà không thể gõ vì một số lý do.

Các vấn đề liên quan