2013-04-30 11 views
6

Wydałem aplikację o nazwie Gurbani Ujagar. Wygląda na to, że działa dobrze na niektórych smartfonach, takich jak Samsung Galaxy S3, ale inne telefony, takie jak Galaxy Nexus, Galaxy S, a na niektórych tabletach słowa/znaki wyglądają jak pudełka lub losowe znaki interpunkcyjne. Mam ponad 1000 plików HTML, które są wyświetlane przy użyciu WebView.Dlaczego Punjabi (język indyjski) pojawia się jako pudełka na niektórych inteligentnych urządzeniach?

Nie jestem pewien, jak rozwiązać ten problem, więc tekst pojawia się dokładnie tak samo na wszystkich telefonach. Sprawdziłem inne aplikacje Punjabi na i Galaxy S, a mianowicie Dhur Ki Bani (co wydaje się być w porządku), ale aplikacja Gurbani Ujagar pojawia się jako pola. Nie jestem pewien, dlaczego tak jest. Próbowałem edytować czcionkę w pliku HTML.

Tekst pojawia się na telefonach, które nie pojawiły się przed rozpoczęciem edycji, ale część tekstu nadal jest niepoprawnie renderowana.

Ręczne edytowanie ponad 1000 stron wymagałoby wiele pracy. Pliki HTML (nie kodu źródłowego) znajdują się w moim folderze zasobów. Czy można edytować wszystkie pliki HTML za pomocą Typeface? Wygląda na to, że mogę edytować je wszystkie naraz w Xcode, ale nie jestem pewien dlaczego.

Każda pomoc zostanie doceniona. Poniżej znajduje się przykład mojego kodu:

Możesz również 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

Czy możesz podać, co znajduje się w twoim pliku "3.html"? – HeatfanJohn

+0

Tak, patrz wyżej. – ivesingh

+0

Widzę, że twój tekst jest zakodowany za pomocą UTF-8 i jedna z twoich postaci została zdekodowana jako GURMUKHI LETTER DA lub U-0A26. Domyślam się, że czcionka używana na urządzeniach, które nie wyświetlają znaków, nie ma glifów dla alfabetu Gurmukhi. Próbuję wyszukać, czy istnieje sposób na umieszczenie czcionki internetowej na swoich stronach. – HeatfanJohn

Odpowiedz

3

Postacie pojawiają się jak pudełka, jeśli czcionka używasz nie posiada glify dla tych znaków (czcionka nie ma tych liter).

Niektóre telefony oferują więcej czcionek niż inne, a niektóre telefony mogą mieć bardziej kompletne i nowsze wersje czcionek niż inne, co oznacza, że ​​niektóre telefony będą miały wybraną czcionkę, a czcionka będzie zawierała znaki, których używasz. inne wersje tej samej czcionki na różnych telefonach lub w wersjach Androida mogą nie być tak kompletne i nie będą zawierać znaków, których używasz, więc będą wyświetlane jako skrzynki na tych telefonach.

Jeśli chcesz zagwarantować, że aplikacja będzie działać i wyświetlać cały tekst na wszystkich telefonach, znajdź bezpłatną czcionkę pod adresem Google Webfonts lub Font Squirrel z licencją umożliwiającą umieszczanie w aplikacji, a następnie opublikuj tę niestandardową czcionkę za pomocą aplikacji i użyj go w kodzie HTML za pomocą CSS @font-face.

+0

Jak rozwiązujemy ten problem na stronach internetowych?Litery pendżabskie wyświetlają się jako pola w przeglądarkach. – jaspreet21anand

+0

@ jaspreet21anand przeczytaj moją odpowiedź. *** "znajdź darmową czcionkę w witrynie Google Webfonts lub wiewiórki czcionek" ***, która zawiera potrzebne znaki i użyj jej w swojej witrynie. – Greg

Powiązane problemy