792 Stimmen

Kann ich eine benutzerdefinierte Schriftart in ein iPhone-Programm einbetten?

Ich möchte, dass eine Anwendung eine benutzerdefinierte Schriftart für das Rendern von Text, laden Sie es, und verwenden Sie es dann mit Standard UIKit Elemente wie UILabel . Ist dies möglich?

5 Stimmen

In einer der CS193p-Vorlesungen (iPhone Application Development) in Stanford stellte Evan fest, dass die Installation einer eigenen Schriftart auf einem Gerät "eine Menge Arbeit" ist, was zumindest bedeutet, dass es möglich ist :-)

2 Stimmen

IPhone 3.2 erlaubt benutzerdefinierte Schriftarten, aber nur für das iPad (siehe Antwort unten)

6 Stimmen

Am Ende habe ich Bilder verwendet.

7voto

Kirtikumar A. Punkte 3994

Folgen Sie diesem Schritt

1) Kopieren Sie Ihre Schriftart in Ihr Projekt

2) Öffnen Sie Ihr .plist Datei im Quellcode-Modus...(Hinweis: Öffnen Sie nicht info.plist )

3) Davor - Rechtsklick auf Ihre Schriftart und öffnen Sie sie in fontforge oder einem ähnlichen Editor und install es in Ihrem System, es sollte install

4) Tippen Sie dies

 <key>UIAppFonts</key>
<array>
    <string>MyriadPro.otf</string>
</array>

5) Geben Sie diesen Code in Ihr class .m

 [lblPoints setFont:[UIFont fontWithName:@"Myriad Pro" size:15.0]];

Hier werden die lblPoints ab dem Zeitpunkt Ihrer UILabel

Geschafft!!! Wenn Ihre Schriftart immer noch nicht funktioniert, überprüfen Sie zuerst die Kompatibilität Ihrer Schriftarten

1 Stimmen

Warum öffnen Sie nicht info.plist ?

0 Stimmen

Warum wird in Punkt 5 ein Leerzeichen zwischen Myraid und Pro eingefügt, wenn in Punkt 4 kein Leerzeichen in Plist steht?

0 Stimmen

@jayantrawat Der Name der Schriftart wird im System angezeigt, nachdem wir die Schriftart installiert haben, und .plist ist der Name der Schriftartdatei[ .ttl oder otf ]

6voto

Jacob Wallström Punkte 143

Ich habe die verschiedenen Vorschläge auf dieser Seite unter iOS 3.1.2 ausprobiert, und dies sind meine Schlussfolgerungen:

Einfach mit [UIFont fontWithName:size:] mit den Schriftarten im Resources-Verzeichnis funktioniert nicht, auch wenn der FOND-Name mit FontForge gesetzt wurde.

[UIFont fontWithName:size:] funktioniert, wenn die Schriftarten zuerst mit GSFontAddFromFile geladen werden. Aber GSFontAddFromFile ist nicht Teil von iOS 3.1.2 und muss daher dynamisch geladen werden, wie von @rpetrich beschrieben.

6voto

ByteNirvana Punkte 5512

Vielleicht hat der Autor vergessen, der Schrift eine Mac FOND Name ?

  1. Öffnen Sie die Schriftart in FontForge dann gehen Sie zu Element>Schriftart Info
  2. Es gibt eine "Mac"-Option, mit der Sie den FOND-Namen festlegen können.
  3. Unter Datei>Schriftart exportieren können Sie eine neue ttf erstellen

Sie können auch die Option "Apple" im Exportdialog ausprobieren.

HAFTUNGSAUSSCHLUSS : Ich bin kein IPhone-Entwickler!

5voto

AaronBaker Punkte 983

Ich habe einige der Ratschläge auf dieser Seite zu etwas kombiniert, das bei mir unter iOS 5 funktioniert.

Zunächst müssen Sie die benutzerdefinierte Schriftart zu Ihrem Projekt hinzufügen. Dann müssen Sie den Rat von @iPhoneDev befolgen und die Schriftart zu Ihrer info.plist-Datei hinzufügen.

Wenn Sie das getan haben, funktioniert das:

UIFont *yourCustomFont = [UIFont fontWithName:@"YOUR-CUSTOM-FONT-POSTSCRIPT-NAME" size:14.0];
[yourUILabel setFont:yourCustomFont];

Sie müssen jedoch den Postscript-Namen Ihrer Schriftart kennen. Befolgen Sie einfach den Rat von @Daniel Wood und drücken Sie die Befehlstaste-i, während Sie in FontBook sind.

Dann genießen Sie Ihre individuelle Schriftart.

5voto

Alejandro Luengo Punkte 1256

Fügen Sie zunächst die Schriftart im .odt-Format zu Ihren Ressourcen hinzu, in diesem Fall verwenden wir DINEngschriftStd.otf, und verwenden Sie dann diesen Code, um die Schriftart dem Label zuzuweisen

[theUILabel setFont:[UIFont fontWithName:@"DINEngschriftStd" size:21]];

Um sicherzustellen, dass Ihre Schriftart in das Projekt geladen wird, rufen Sie einfach

NSLog(@"Available Font Families: %@", [UIFont familyNames]);

In der .plist müssen Sie die Schriftart deklarieren. Fügen Sie einfach einen "Fonts provided by application"-Eintrag hinzu und fügen Sie einen Eintrag 0 mit dem Namen der Schriftart (DINEngschriftStd.otf) hinzu

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X