そのためだけに別のサードパーティを使用したくないので、そしてhtml文字列自体を構築しているので、フォントフェイスを使用する最初の部分を取り、リモートまたはローカルファイルへのURLを使用する代わりに、私はフォントを base64 に変換しました。
css は次のようになります。
@font-face {
font-family: 'FONTFAMILY';
src: url(data:font/ttf;base64,FONTBASE64) format('truetype');
}
FONTFAMILY を必要なファミリに置き換え、FONTBASE64 をフォントから生成された base 64 文字列に置き換えることができます。
アプリケーションでbase64文字列を作成する必要がある場合は、これを使用できます。ファイル名とタイプを指定するだけです(私は他のファイルを取得するために使用したので、より一般的です。ofTypeパラメーターを削除して@"ttf"を使用できます)代わりは):
- (NSString*)getBase64FromFile:(NSString*)fileName ofType:(NSString*)type
{
NSString * filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:type];
// Create NSData object
NSData *nsdata = [NSData dataWithContentsOfFile:filePath];
// Get NSString from NSData object in Base64
NSString *base64Encoded = [nsdata base64EncodedStringWithOptions:0];
return base64Encoded;
}
一度だけ実行してファイルに保存する場合は、次のように、ファイルを base64 に変換するオンライン Web サイトを使用できます。