Question

Supposons que vous ayez une chaîne avec le texte en deux ou plusieurs scripts. Lorsque vous utilisez une fonction GDI comme TextOut, (versions modernes) Windows ne "font-linking". À savoir, GDI puisera ce qu'il peut avec votre police sélectionnée et tirer le reste dans une police appropriée qu'il choisit automagiquement. Par exemple, si une partie de votre texte est en anglais (en utilisant l'alphabet romain), et une partie de celui-ci est chinois (en utilisant des caractères CJC), et vous avez Arial sélectionné, la partie anglaise sera établi en Arial, et la partie chinois être utilisée dans une autre police qui a glyphes CJC.

Ma question est, est-il un moyen de déterminer les polices TextOut choisira (ou at-il choisi) pour la liaison de la police?

Je dois tirer un texte avec le bas niveau API Uniscribe, qui ne fait pas la police-liaison automatique. J'ai mis ma propre police-liaison, mais parfois mon algorithme choisit une police différente de celle TextOut fait pour le même texte. J'essaie de comprendre l'algorithme de Windows mieux, mais je ne suis pas vraiment bien à identifier les polices de caractères à vue (en particulier dans les scripts ne connaissent pas).

Était-ce utile?

La solution

La police est sélectionnée par une entrée de Registre. Il est bien décrit dans cet article Citant la partie pertinente:.

  

Si la liaison de polices est activée sur votre   appareil, vous pouvez examiner le registre   en énumérant les sous-clés de la   clé de registre   HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows   NT \ CurrentVersion \ FontLink \ SystemLink   pour déterminer les correspondances de lien   les polices de fonder les polices. Vous pouvez ajouter des liens   en utilisant Regedit pour créer d'autres   sous-clés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top