4

私はUIWebViewを持っており、UIWebViewを介して表示する編集可能なhtmlドキュメントにロードしたいカスタムフォントを持っています。私の SupportingFiles (リソース) フォルダーには、「Nosifer-Regular.ttf」があります... HTML でカスタム フォントを使用するには、フォント タイルへのパス (URL) が必要です...これを試してみましたが、うまくいきませんでした。うまくいかないようです...何かアイデアはありますか?

bundle = [NSBundle mainBundle];
    pathFont = [bundle bundlePath];
    fontURL = [NSBundle pathForResource:@"Nosifer-Regular" ofType:@"ttf" inDirectory:pathFont];
    path_font = [fontURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    fileAppend = [[NSString alloc] initWithFormat:@"file://"];
    path_font = [[NSString alloc] initWithFormat:@"%@%@", fileAppend, path_font];

HTML (CSS):

@font-face {
  font-family: 'Nosifer';
  font-style: normal;
  font-weight: 400;
  src: local('Nosifer'), local('Nosifer-Regular'), url('%@') format('truetype');
}

%@ は「path_font」に置き換えられます (上記の最初のコード ブロックで定義)。

4

4 に答える 4

4

まず、「アプリケーションが提供するフォント」にファイルを追加しますinfo.plist。のような配列になります。

item0 myFont.otf
item1 anotherFont.ttf

か何か。

HTML では font-face を使用してフォントを追加します。フォントファイルをhtmlファイルと同じディレクトリに配置します。HTML が動的に生成され、バンドルから表示されない場合は、 font をコピーする必要があります。

幸運を。

于 2012-01-26T05:50:34.993 に答える
1

プロジェクトにカスタム フォントを追加します。それで

フォント名を取得

 UIFont *font = [UIFont fontWithName:@"Your-Custom-font" size:20];

次に、html文字列を作成します

NSString *htmlHeader=[NSString stringWithFormat:@"<html><head><head><link rel=\"stylesheet\" type=\"text/css\" href=\"file://localhost%@\"></head><body><font face=\"%@\"; size=\"4\">HI</font></body></html>",cssPath,font.familyName];

幸運を。

于 2014-10-20T15:26:00.333 に答える
1

ここに実際のhtmlコードの例があります。

<html>
<head>
    <style type='text/css'>
        p.p1 {margin: 0.0px 0.0px 0.0px 30.0px; font: 34.0px;}
        @font-face {
            font-family: 'Nosifer'; font-style: normal; font-weight: 400; src: local('Nosifer'), local('Nosifer-Regular'), url('Nosifer-Regular.ttf') format('truetype');
        }

        .nosifer {
            font-family: Nosifer;
        }

        </style>
</head>
<body allowtransparency='true'>
    <p class="nosifer">Nosifer ABCabc</p>
</body>

ご覧のとおり、css クラスを使用してフォントをより簡単に定義しました。font-face 内のすべての CSS コードが何を意味するのかはわかりませんが、機能しているようです。

* -info.plist ファイル内のアプリケーションが提供するフォントの配列に「Nosifer-Regular.ttf」を追加する必要があることを確認しました(キー: アプリケーションが提供するフォント)。ところで、私は Nosifer-Regular.ttf をグーグルで検索し、ノイズの多いサイト here で見つけました。それは本当にうまくいきました:http://www.ffonts.net/Nosifer.font.download

次に、私のケースで使用する OTF をロードすることもできました。CSS で、フォーマットを truetype から opentype に変更しました。

于 2012-08-29T06:36:05.537 に答える
0

Info.plist にフォントを追加する方法は次のとおりです。

    <key>UIAppFonts</key>
    <array>
        <string>Nosifer-Regular.ttf</string>
    </array>

次に、この他の回答に従って @font-face を使用します。

于 2012-01-26T05:52:29.807 に答える