gpt4 book ai didi

html - 如何在 iOS 中正确更改 ePub(一般 html)中的字体?

转载 作者:行者123 更新时间:2023-11-29 03:48:05 24 4
gpt4 key购买 nike

我遵循这个解决方案

How can I change font color and font style of ePub Book in iOS?

但是它无法正常工作。例如在这段html中

<body>
<div id="HolubiPosta-E-2.html" xml:lang="cs-CZ">
<div class="Z-kladn--grafick--r-me-ek">
<p class="Nazev para-style-override-3" id="toc_marker-2">Holubí pošta</p>

<p class="Z-kladn--odstavec para-style-override-4"><span>Už od rána slunce sypalo hlava nehlava zlato.</span></p>

它更改第二段中的字体,但不会更改第一段中的字体。

如何正确更改所有 html 文档中的 font-family?

编辑:这是我正在使用的CSS添加功能

NSString *addCSSRule =  @"function addCSSRule(selector, newRule) {"
"if (mySheet.addRule) {"
"mySheet.addRule(selector, newRule);" // For Internet Explorer
"} else {"
"ruleIndex = mySheet.cssRules.length;"
"mySheet.insertRule(selector + '{' + newRule + ';}', ruleIndex);" // For Firefox, Chrome, etc.
"}"
"}";

我是这样调用它的:

NSString *setTextFont = [NSString stringWithFormat:@"addCSSRule('html, body, div, p, span, a', 'font-family: %@;')", m_str_font_name];

[webView stringByEvaluatingJavaScriptFromString:setTextFont];

CSS:

p.Nazev {
font-family : "Liberation Serif", serif;
font-weight : normal;
font-style : normal;
font-size : 1.33em;
text-decoration : none;
font-variant : normal;
line-height : 1.2;
text-align : center;
color : #0000ff;
text-indent : 0px;
margin : 0px;}

p.para-style-override-3 {
margin-bottom : 28px;
margin-top : 28px;}

p.para-style-override-4 {
text-align : justify;}

div.Z-kladn--grafick--r-me-ek {}

最佳答案

这是一种方法。我可以确认它可以在 iOS UIWebView 上运行。将“serif”替换为您想要的任何 font-family

[self.contentView stringByEvaluatingJavaScriptFromString:
@"var styleSheets = document.styleSheets;for( i=0; i < styleSheets.length; i++ ){for( j=0; j < styleSheets[i].cssRules.length; j++){var rule = styleSheets[i].cssRules[j]; rule.style['font-family'] = 'serif'}}"];

不是最优雅的方式,但基本上它会循环所有现有规则并设置字体系列。

我猜你出现问题是因为你添加的新元素级规则被 epub css 中定义的某些现有类级规则覆盖。

关于html - 如何在 iOS 中正确更改 ePub(一般 html)中的字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17445927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com