2013-04-30 19 views
6

Tôi đã phát hành một ứng dụng có tên là Gurbani Ujagar. Dường như hoạt động tốt trên một số điện thoại thông minh như Samsung Galaxy S3, nhưng các điện thoại khác như Galaxy Nexus, Galaxy S và trên một số máy tính bảng, các từ/ký tự xuất hiện dưới dạng hộp hoặc dấu chấm câu ngẫu nhiên. Tôi có hơn 1000 tệp HTML đang được xem bằng cách sử dụng WebView.Tại sao Punjabi (Ngôn ngữ Ấn Độ) xuất hiện dưới dạng hộp trên một số thiết bị thông minh?

Tôi không chắc chắn cách khắc phục sự cố này để văn bản xuất hiện chính xác như nhau trên tất cả các điện thoại. Tôi đã kiểm tra một số ứng dụng Punjabi khác trên Galaxy NexusGalaxy S, cụ thể là Dhur Ki Bani (có vẻ tốt), nhưng ứng dụng Gurbani Ujagar xuất hiện dưới dạng hộp. Tôi không chắc tại sao lại thế. Tôi đã thử chỉnh sửa phông chữ trong tệp HTML.

Văn bản xuất hiện trên điện thoại không hiển thị trước khi tôi bắt đầu chỉnh sửa, nhưng một số văn bản vẫn hiển thị không chính xác.

Chỉnh sửa hơn 1000 trang theo cách thủ công sẽ có nhiều công việc. Tệp HTML (không phải mã nguồn) nằm trong thư mục nội dung của tôi. Có thể chỉnh sửa tất cả các tệp HTML bằng cách sử dụng Typeface không? Dường như tôi có thể chỉnh sửa tất cả chúng cùng một lúc trong Xcode nhưng tôi không chắc chắn tại sao.

Mọi trợ giúp sẽ được đánh giá cao. Dưới đây là ví dụ về mã của tôi:

Bạn cũng có thể view the HTML file here.

public class MainActivity extends Activity { 

@SuppressLint("SetJavaScriptEnabled") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    WebView webview = (WebView) findViewById(R.id.webView1); 
    webview.loadUrl("file:///android_asset/3.html");   
    } 
} 
+0

Bạn có thể liệt kê những gì trong tệp '3.html' của mình không? – HeatfanJohn

+0

Có, vui lòng xem ở trên. – ivesingh

+0

Tôi thấy rằng văn bản của bạn được mã hóa bằng UTF-8 và một trong các ký tự của bạn được giải mã là GURMUKHI LETTER DA hoặc U-0A26. Tôi đoán là phông chữ được sử dụng trên các thiết bị không hiển thị các ký tự không có glyphs cho bảng chữ cái Gurmukhi. Tôi đang cố gắng tìm kiếm xem có cách nào để bạn có thể nhúng phông chữ web vào các trang của mình hay không. – HeatfanJohn

Trả lời

3

Ký tự xuất hiện dưới dạng hộp nếu phông chữ bạn đang sử dụng không có glyph cho các ký tự đó (phông chữ không có các chữ cái đó).

Một số điện thoại cung cấp nhiều phông chữ hơn các loại khác và một số điện thoại có thể có phông chữ hoàn chỉnh hơn và mới hơn, có nghĩa là một số điện thoại sẽ có phông chữ bạn chọn và phông chữ đó sẽ có các ký tự bạn đang sử dụng. các phiên bản khác của cùng một phông chữ trên các điện thoại khác nhau hoặc các phiên bản Android có thể không hoàn chỉnh và sẽ không có các ký tự bạn sử dụng, vì vậy chúng sẽ được hiển thị dưới dạng hộp trên các điện thoại đó.

Nếu bạn muốn đảm bảo rằng ứng dụng của bạn sẽ hoạt động và hiển thị tất cả văn bản trên tất cả điện thoại, hãy tìm phông chữ miễn phí trên Google Webfonts hoặc Font Squirrel với giấy phép cho phép nhúng trong ứng dụng và sau đó gửi phông chữ tùy chỉnh đó với ứng dụng của bạn và sử dụng nó trong HTML của bạn với CSS @font-face.

+0

Làm cách nào để chúng tôi giải quyết vấn đề này trên các trang web?Các ký tự Punjabi hiển thị dưới dạng các hộp trong trình duyệt. – jaspreet21anand

+0

@ jaspreet21anand đọc câu trả lời của tôi. *** "tìm phông chữ miễn phí trên Google Webfonts hoặc Font Squirrel" *** có các ký tự bạn cần và sử dụng nó trên trang web của bạn. – Greg

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