我需要在 Expo (React Native) 应用程序中打印条形码。我尝试要求 tff 文件(见下文),但这对我不起作用。但是,如果我使用相同的方法来包含图像,则效果很好。
try {
const fontAsset = Asset.fromModule(require('@/assets/fonts/LibreBarcode39-Regular.ttf'));
const fontBase64 = await manipulateAsync(fontAsset.localUri ?? fontAsset.uri, [], {base64: true});
}catch(e){
console.log("Error loading font: " + e)
}
事实上,事实证明,我把这个问题过于复杂化了。
因此,要获取字体,您只需:
const fontAsset = Asset.fromModule(require('@/assets/fonts/LibreBarcode39-Regular.ttf'));
然后在标签中执行:
@font-face {
font-family: 'LibreBarcode39-Regular';
src: local('LibreBarcode39-Regular'), url(${fontAsset.uri}) format('truetype');
}
然后像这样使用:
font-family: 'LibreBarcode39-Regular';
希望,如果其他人遇到这个问题,这会有所帮助。