我在epub阅读器中遇到了问题,它可以正确显示所有内容,但是没有捕获CSS文件中的嵌入式字体。
当我在其他阅读器上运行同一文件时,嵌入式字体被显示出来,但是当我在像Firefox这样的浏览器上运行html文件时,它显示与我的应用程序相同的结果,并且不显示嵌入式字体。
这里是一个示例html内容:
<html dir="rtl" xml:lang="ar" lang="ar" xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=1332,height=794" />
<title>the-title-3</title>
<link href="css/idGeneratedStyles.css" rel="stylesheet" type="text/css" />
</head>
<body id="the-title-3" lang="en-GB" xml:lang="en-GB" style="width:1332px;height:794px">
<div id="_idContainer003">
<img class="_idGenObjectAttribute-1 _idGenObjectAttribute-2" src="image/inner_cover_and_credits_page.jpg" alt="" />
</div>
<div id="_idContainer004">
<div style="width:11599.37px;height:2993.39px;position:absolute;top:0px;left:0px;-webkit-transform-origin: 0% 0%; -webkit-transform: translate(0px,3.93px) rotate(0deg) scale(0.05);transform-origin: 0% 0%; transform: translate(0px,3.93px) rotate(0deg) scale(0.05);">
<p class="Basic-Paragraph ParaOverride-1"><span id="_idTextSpan000" class="CharOverride-1" style="position:absolute;top:13.65px;left:3168.24px;">الجملة الرئيسية في النص </span></p>
<p class="Basic-Paragraph ParaOverride-1"><span id="_idTextSpan001" class="CharOverride-1" style="position:absolute;top:733.65px;left:831.71px;">											الكاتبة</span></p>
</div>
</div>
</body>
</html>
这是它对应的 CSS 文件:
@font-face {
font-family:"Futura Lt BT";
font-style:normal;
font-weight:normal;
src : url("../font/FuturaBT-Light.TTF") format('truetype');
}
@font-face {
font-family:"GE SS Text Light";
font-style:normal;
font-weight:300;
src : url("../font/GESSTextLight-Light.otf") format('opentype');
}
@font-face {
font-family:"GE SS Text Medium";
font-style:normal;
font-weight:500;
src : url("../font/GESSTextMedium-Medium.otf") format('opentype');
}
@font-face {
font-family:"Simplified Arabic";
font-style:normal;
font-weight:bold;
src : url("../font/SimplifiedArabic-Bold.ttf") format('truetype');
}
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, pre, code, blockquote {
margin:0;
padding:0;
border-width:0;
text-rendering:optimizeSpeed;
}
div.Basic-Text-Frame {
border-style:solid;
}
p.ParaOverride-1 {
line-height:1;
white-space:nowrap;
}
span.CharOverride-1 {
color:#000000;
font-family:"GE SS Text Medium", sans-serif;
font-size:420px;
font-style:normal;
font-weight:500;
}
以下是文件布局的截图:
要在UIWebView中加载html内容:
[readingWebView loadHTMLString:contents baseURL:baseURL];
我发现我提交给其他阅读器的文件与我在应用程序中使用的文件唯一的区别是,我向其他阅读器(如iBooks)提交.epub格式的文件,而我在应用程序中使用相同的文件带有.zip扩展名。 但我不确定这是否相关。为了显示epub中html文件的内容,我使用UIWebView。
唯一不同之处在于文件格式,但这可能与问题无关。