雅布叔叔的糖果屋 - 字体
type: channel
link: https://www.alexgao.com/tag/%E5%AD%97%E4%BD%93/
items: 实现wordpress文章字体大小切换调节
items: WM修改字体方法

实现wordpress文章字体大小切换调节
type: item
date: 2011-02-26T20:11:00+08:00
description: 这两天折腾的换上了新的主题，也修改了不少东西，发现我现在的口味真是越来越清淡了，网站的配色也都基本是淡色系了，而且风格也越来越简化。我终于发现了我的需求：简单明快的风格，大大的文章宽度，和一套可以分享图片，视频和代码的插件。是的，这样足矣！这篇日志主要是想讲讲我是如何实现文章的字体大小切换调节的，其实这也算是我的宿愿了，一直希望wordpress可以像之前用过的pjblog一样可以允许读者自己调节文章字体的大小。这两天在网上找找，折腾了一下还真实现了这个功能！其实大家不喜欢看废话，咱们就直接药到病除吧！HTML部分 小 中 大 以上的html代码是用来贴到你需要实现该功能的地方的，大家懂的，比如我就放在了文章信息栏（见文章右上角）这个功能是通过jQurey实现的，所以需要引入jQurey代码（引入方式如不清楚请google之），代码如下：$(document).ready(function() { $('#resizer li').click(function() { var fontSize = 14; var name = $(this).attr('id'); if (name == 'f_s') { fontSize -= 2 } else if (name == 'f_l') { fontSize += 2 } else if (name == 'f_m') { fontSize == 14 } $('.post_content p').css('font-size', fontSize + 'px') }); });以上JS代码可以直接写在 footer.php里，但是为了减少非单文章页面不必要的加载多余的代码，可以用以下代码把这段JS括起来：<?php if( is_single() ): ?><?php endif; ?>好了，做完这些工作，相信你的网站已经可以实现字体大小的调节了！有问题请留言，能力范围内尽量解答。（我也是个半吊子） :) 注：以上信息部分来自网络。

WM修改字体方法
type: item
date: 2008-07-28T22:23:15+08:00
description: 设想一个情景，hillin想在自己的710+中安装又小又好看的SofiaSans字体。通过这个情景，让我们来看看在WM系统中修改字体到底是怎么一回事。 1 复制字体文件到系统 情景1.0：复制字体文件sofiasans.ttf到\Windows下，如果剩余空间足够大，就可以成功复制。 情景1.1：hillin的手机刷的是SofiaROM。SofiaROM从定制时就以SofiaSans作为默认字体，但是版本比较低，hillin想升级它。这时候，hillin复制到sofiasans.ttf到\Windows下，出现覆盖文件的提示。选择覆盖文件之后，成功复制文件。 情景1.2：SofiaSans又更新了，hillin再次按情景1.1的方式复制文件，但是系统提示文件正在使用，无法覆盖。 这里我们就要考虑WinCE特殊的文件管理机制。对于刷到ROM中的文件，可以使用一个新的同名文件将其覆盖。覆盖时不会删除ROM中的文件，而是用某种 方式隐藏了它，以后每次当调用这个文件时，都会调用覆盖后的新文件。但是需要注意到是，旧文件依然存在。因此即使执行了覆盖操作，即使你看不见旧文件了， 旧文件依然占据它所占有的空间。 而对于并非处于ROM中的文件，则是另一套运作方式。覆盖操作会删除旧文件，然后写入新文件。这样旧文件将彻底不复存在，也就不会占据额外的空间了。 但是，区别于我们见过的几乎所有操作系统，WinCE有一个奇怪的特性，就是即使一个文件正在使用，我们也可以修改它的文件名。这为解决情景1.2中 hillin遇到的麻烦提供了一个机会。系统中原有的Sofiasans.ttf文件正在使用，所以hillin将其改名为Sofiasans.xxx。 这样，系统中正在使用的文件变成了Sofiasans.xxx，他把新的Sofiasans.ttf复制进了系统。重新启动后，系统会调用 Sofiasans.ttf而非Sofiasans.xxx，因此可以将Sofiasans.xxx，也就是之前的Sofiasans.ttf删除。2 修改FontLink hillin查阅了很多关于修改WM字体的文章。这些文章都精确地指出，应该修改注册表来告诉系统应该使用什么字体。修改方法是这样的，找到一个注册表编 辑器，可以用在PC端执行的CE Registry Editor，也可以在手机端使用各种注册表编辑器，例如Resco Explorer就带有这样一个东西。在注册表编辑器中找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \FontLink\SystemLink，然后修改下面所有项的值为：复制内容到剪贴板代码:字体文件路径,字体名比如说hillin要修改字体为SofiaSans，字体文件路径无疑是\Windows\Sofiasans.ttf，而字体名则是SofiaSans。于是他把所有项都改成了：复制内容到剪贴板代码:\Windows\Sofiasans.ttf,SofiaSans然后重新启动手机。 情景2.0 hillin以前使用的ROM是SofiaROM，使用的是老版本的SofiaSans字体，注册表中的所有键值都是已经修改好的，因此他什么都不用做。重新启动后，他发现修改字体很成功，老版本字体中显示不正确的一些字都被纠正了。 情景2.1 hillin以前使用了一个使用宋体的ROM。复制完文件、改完注册表后，他发现，只有一部分字体变成了SofiaSans，而很多字体依然是宋体。 在WM系统中，FontLink并不是设置系统字体的唯一的地方。系统指定了一些默认字体，这些设置无视FontLink中的任何修改。它们位于注册表的四个不同位置，对应不同的用途：复制内容到剪贴板代码:HKEY_LOCAL_MACHINE\SYSTEM\GDI\SysFnt：系统字体 HKEY_LOCAL_MACHINE\SYSTEM\GWE\Menu\BarFnt：菜单条字体 HKEY_LOCAL_MACHINE\SYSTEM\GWE\Menu\PopFnt：弹出菜单字体 HKEY_LOCAL_MACHINE\SYSTEM\GWE\OOMFnt：内存不足窗口字体每一个键下面都有若干项，指定了这个键对应的用途所使用的字体规则，例如Ht、It、Wt之类。而我们最关心的则是一个叫Nm的项。这个项指定了字体的名称。 于是hillin兴高采烈地把这四个项下的Nm值都改成了SofiaSans。 情景2.3 hillin修改了上述键值后，终于把所有系统字体都改成了SofiaSans。 情景2.4 WM依然顽固，并不是所有字体都改过来了，宋体依然存在。 这是一个令人头疼的问题。 hillin分析了一下，可能是因为宋体之类的字体依然存在于系统中，系统会无条件地优先调用这些字体。他翻了翻\Windo…