改变字体和没有html lang标记的不同语言的font-size

时间:2017-09-19 19:57:38

标签: javascript jquery html css fonts

所以,我有一些帖子在行中使用两种不同的语言(英语和韩语):类似于:

  

这是一个例子(예시)。

我经常在两种语言之间来回切换。

我想使用不同字体大小的不同字体。

我通常会通过使用lang(en)lang(ko)指定不同的CSS块来实现此目的,但这会变得很烦人,因为这需要编写我的HTML内容行,如:

<p lang="en">This is an example (<span lang="ko">예시</span>)</p>

我希望尽量减少指定HTML内容,因为我经常混合使用这两种语言,并计划使用Markdown编写我的帖子。

我知道,在CSS font-family中,如果某个特定语言不是由高优先级字体集提供的,它会自动查找下一个,所以我可以这样做:

body { font-family: "Some Only English Font", "Some Korean Font" }

如果第一种字体不支持韩文,它将改变字体。有没有办法可以利用这个属性来改变不同语言的字体大小?

当然,任何其他方法都会有所帮助。

(或许可以使用JS来检测字体,只有在使用&#34;某些韩文字体&#34;?

时才更改字体大小

3 个答案:

答案 0 :(得分:2)

我认为寻找一种检测语言的JS方法(尽管很复杂)会给你的页面增加不必要的开销:我会事先修复它。

为什么不在这样的文字编辑器中撰写帖子?

  

这是一个例子(@@@예시@@)。

然后只需将@@@替换为<span lang="ko">,将@@替换为</span>,然后使用Markdown开始正常工作。

根据您的内容,您可以找到更快的字符组合来识别韩文文本:

  

这是一个例子(%%예시%)。

选择任何独特且快速输入的内容。

如果你每周写一篇文章或者如果你经常写的话通过自动脚本写你可以手动(搜索和替换)。实际上,您可以创建一个任务,当某个目录中的文件发生更改时触发该脚本。

答案 1 :(得分:0)

HTML5有一个名为

的属性
  

数据

template <class R, class C, class... Args> 
void myfunction(R(C::*mf)(Args...), C* pc, Args&&... args)
{
    (pc->*mf)(std::forward<Args>(args)...);
}

你可以添加很多 data-lang =&#34; en&#34; ...结果是你有一个数据集,你可以得到一个列出一个数组,然后像这样访问:

<tagHTML id="myid" data-var_name="value" data-lang="en" ...> 

答案 2 :(得分:0)

根据您的要求,我建议您设置韩语文本,并在$

中调用的预处理器方法中添加font-family字体大小的跨度

$(function() {
  detectKoreanAndAddSpans();
});