1 votes

Comment afficher un site web contenant des polices Indic dans le navigateur Android ?

Récemment, j'ai essayé de consulter un site web sur mon appareil Android. Une partie du contenu du site contient du texte dans une police Indic spécifique. J'ai remarqué que le site Web ne s'affiche pas dans les navigateurs Android (Chrome, Firefox, Opera, etc.) comme il s'affiche sur mon PC. La police prévue (police Indic) est remplacée par une autre police, lorsqu'elle est affichée dans n'importe quel navigateur sur mon appareil Android. Comme je dispose d'un accès Root sur mon mobile Android, j'ai déplacé le fichier indicfont.ttf (que j'ai téléchargé sur Internet) à l'adresse suivante /system/fonts et j'ai redémarré mon téléphone. Maintenant, je peux parfaitement afficher le site Web (mais uniquement sur le navigateur Firefox pour Android). J'ai les questions suivantes à poser :

  • Quelqu'un peut-il expliquer toutes les étapes du processus d'affichage de la police Indic par le navigateur Firefox (dans le scénario particulier expliqué ci-dessus) ? Le site indicfont.ttf a été placé dans le /system/fonts répertoire.
  • Pourquoi la solution précédente ne fonctionne-t-elle que sur le navigateur Firefox et pas sur les autres navigateurs mobiles ?

Plus important encore, pourriez-vous suggérer une solution possible pour les téléphones Android non enracinés ? C'est d'accord même si c'est une solution difficile à mettre en œuvre.

Mon appareil : (Android 4.4.4, Firefox 32.0.1)

EDIT。 Il existe de nombreuses polices de caractères pour le sanskrit (écriture Devanagari), parmi lesquelles les deux suivantes sont les plus utilisées dans le scénario : Sanskrit2003 y Mangal .

  1. Ce sont là quelques faits importants qui découlent d'un bon source sur les polices Indic disponibles sur ce site.

    À partir d'Android 4.0, le tamoul et d'autres langues sont supportés par le navigateur, comme indiqué dans l'aperçu de l'API d'Android 4.x, voir ci-dessous. vue ci-dessous.

    Support for Indic fonts (Devanagari, Bengali, and Tamil, including the complex character support needed for combining glyphs) in WebView and the built-in Browser.

    Mon problème est que le support par défaut donné par les navigateurs affiche le texte sanskrit en format Mangal et non en Sanskrit2003 (une police supérieure à la police Mangal ).

    enter image description here
    Source de l'image

  2. Toute la question est de permettre au navigateur mobile Android d'afficher le sanskrit (qui est censé être affiché en anglais). Sanskrit2003 ) pour qu'il soit affiché dans la police prévue et non en Mangal (qui est très peu supérieur par rapport à Sanskrit2003 ).

Merci.

1voto

CoderP Points 111

Pour répondre d'abord à la deuxième partie de votre question :

Pourquoi la solution précédente ne fonctionne-t-elle que sur le navigateur Firefox et pas sur les autres navigateurs mobiles ?

Vous utilisez un fichier TTF. Ce type de fichier de police est pris en charge par firefox, Safari et Chrome. Les autres navigateurs peuvent ne pas le supporter. Par exemple : IE supporte EOT ; Opera supporte SVG etc. Mais la plupart des navigateurs Android supportent le TTF, ce qui est étrange.

En bref, vérifiez quel type de police le navigateur prend en charge.

Expliquez toutes les étapes du processus d'affichage de la police Indic par le navigateur Firefox.

Dans certains scénarios, la police de caractères est également intégrée aux données web et envoyée au navigateur, qui l'utilise pour afficher les données. Dans d'autres scénarios, seules les données web sont envoyées et la police utilisée n'est pas une police web (comme dans ce cas). Dans ces cas, le navigateur recherche le fichier de police dans le système. S'il le trouve, il affiche les données, sinon il essaie d'afficher les données en utilisant une police par défaut.

1voto

Thej Points 655

Quelqu'un peut-il expliquer toutes les étapes du processus d'affichage de la police Indic par le navigateur Firefox (dans le scénario particulier expliqué ci-dessus) ? La indicfont.ttf a été placée dans le répertoire /system/fonts.

Si vous avez le contrôle sur le site web, je vous suggère de ajouter une règle @font-face à la feuille de style CSS du site. Cela fonctionnera sur toutes les versions de navigateurs des dix dernières années environ, y compris dans pratiquement tous les navigateurs Android (sauf Opera Mini). Vous pouvez utiliser des services comme fontsquirrel pour convertir un fichier de police en un format de police compatible avec @font-face qui fonctionnera sur différents navigateurs. Notez que vous devrez peut-être acheter une licence pour pouvoir distribuer certaines polices qui sont gratuites pour un usage personnel. Vérifiez les termes et conditions de la licence de la police ou contactez l'auteur de la police si vous n'êtes pas sûr.

Si vous le faites no Si vous avez le contrôle du site web ou si vous ne voulez pas vous embêter à fournir une licence pour la police, vous pouvez injecter n'importe quelle règle CSS dans les sites web à l'aide de la fonction Un addon élégant . Vous aurez besoin d'un navigateur qui est supporté par Stylish comme Firefox Mobile ou Dauphin .

Vous n'avez pas besoin de Root pour utiliser @font-face dans le navigateur ni pour installer Stylish. La page dont vous avez donné le lien et qui mentionne l'enracinement fait référence au remplacement de la police système, c'est-à-dire la police utilisée pour l'interface utilisateur du système.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X