找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 2562|回复: 1

【字体】极速褐狐跳过懒狗

[复制链接]
发表于 2017-5-18 22:44:03 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
也许,你曾经听说过这么一句英语:The quick brown fox jumps over the lazy dog.
直译过来很别扭,甚至有点搞笑:极速褐狐跳过懒狗。甚至你还可以找到这句话的出处:
Screen Shot 2017-05-18 at 20.57.33.png

英文版Windows7字体册截图

        对,很多操作系统的字体册内都有这句话。那么问题来了,它是英语谚语吗?
也许它就像是那个脑洞大开的“A Rolling Stone gathers no moss (滚石不生苔,更好的中文翻译是:‘流水不腐,户枢不蠹’)”。不,抱歉,你想多了。那么现在请数数看在“The quick brown fox jumps over the lazy dog”这句话中,26个字母各出现几次。(至少一次。)懒得算?写个程序得了。

  1. #include <stdio.h>
  2. #include <string.h>

  3. char * szsrc = "the quick brown fox jumps over the lazy dog";

  4. int main()
  5. {
  6.    
  7.     int i, feq[26] = { 0 };
  8.     for (i = (int)strlen(szsrc) - 1; i >= 0; --i)
  9.         if (32 != i[szsrc])
  10.             ++(i[szsrc] - 97)[feq];
  11.     for (i = 0; i < 26; ++i)
  12.         printf("%c = %d\n", (char)(i + 97), i[feq]);
  13.     return 0;
  14. }
复制代码

执行结果如下:
a = 1 b = 1 c = 1 d = 1 e = 3
f = 1 g = 1 h = 2 i = 1 j = 1
k = 1 l = 1 m = 1 n = 1 o = 4
p = 1 q = 1 r = 2 s = 1 t = 2
u = 2 v = 1 w = 1 x = 1 y = 1
z = 1

        这下我们看出,英文中26个字母在“The quick brown fox jumps over the lazy dog”这句话中均有出现,好神奇!
        原来这句话被用作设计英文字体时查看排版效果。这句话最早出现在1885年二月十日波士顿日报晨版的一篇名为“流行记号”的小文章中。文章中提到,“The quick brown fox jumps over the lazy dog”是一句小学生练习英文书法的金句良言,因为它包含了所有26个字母。后来计算机的出现使得好多人参与了字体设计工作。当检验自己设计的一款字体时往往放上这句话,来查看26个字母的表现效果。字体设计是一门学问,更是一门艺术。
        同时还有个公开的小秘密告诉大家:在我们熟知的 Helvetica 字体中:同等字号的 Helvetica 在正色反色下均能呈现相等的字间距!
Screen Shot 2017-05-18 at 21.37.34.png Screen Shot 2017-05-18 at 21.37.34-b.png

第二幅图是第一幅图直接取得反色后的效果

        Helvetica 带来的整齐美感中仿佛每一个字母都是一位士兵,着装整齐,步伐统一,节奏一致。这种丧失个人主义的后现代化风格却用它的整齐划一占领了大街小巷,甚至美国航空的公司Logo!
IMG_0311.JPG

根据设计者的口述解释,在美国航空的Logo中:“AA”代表了AmericanAirlines的缩写。红蓝两色象征美国国旗。中间两翼像一只老鹰。蓝色为主色调衬托了美国国家代表色。

        “极速褐狐跳过懒狗”再次证明了人类璀璨的文化隐藏在他们的智慧结晶——“计算机”中的每一个角落!我们感叹故宫的雄伟壮丽、金字塔的神秘肃静时也请想起人类文化每时每刻都在“eax ecx”中川流不息。做一个善于发现美的人,尊重世界各地人民的文化,才能发扬自己的文化。与此同时只有先了解自己文化的璀璨,才能体会别人文化的长处。
补注:
1.你还记得 EAX ECX 等80x86架构下寄存器名称的具体含义吗?它们是:
EAX: Extended Accumulator(扩展的累加寄存器)
ECX: Extended Counter(扩展的计数寄存器)
DX: Data Register(数据寄存器)
BX: Base Register(基地址寄存器)
SP: Stack Pointer(栈指针寄存器)
BP: Base Pointer(基地址指针寄存器)
SI: Source Index(源地址变址寄存器)
DI: Destination Index(目的地址变址寄存器)
2.据说我们中国也有一个像“极速褐狐跳过懒狗”一样神奇的字,它是“永”。除了卧钩等一些笔画,永字几乎简介而完整地涵盖了所有汉字基本笔画:“点横竖撇捺钩(可惜没有提)”。如果说英文是26进制版的“条形码”,那中文就是由笔画组成的“二维码”。你经常用手机扫街边的二维码,同时也在用自己的眼睛读广告上的汉字!
回复

使用道具 举报

 楼主| 发表于 2017-5-19 14:18:44 | 显示全部楼层
来自认知心理学中的小故事:
        ocacdrngi ot a schrehearc ta maccbriegd ineyurvtis, ti edost’n rttaem ni awth rreod eht tlteser ni a rwdo rea ehtylon pirmtoatn gihtn si atth her rifts nda satl ttelre eb tat her ghitr clepa. eht srte anc eb a otlta sesm dan ouy ancitlls arde ti owtuthi morpbel. ihst si cebusea eth nuamh nidm sedo otn arde yrvee telrte yb stifle, tub eth rdow sa a lohew.
再来看下面一段的单词都拼写正确吗?
        Aoccdring to a rscheearch at Cmabrigde Uinervtisy, it deosn’t mttaer waht oredr the ltteers in a word are,  the only iprmoatnt tihng is taht the first and lsat ltteer be at the rghit pclae. The rset can be a total mses and you can sitll raed it wouthit porbelm. Thsi is bcuseae the human mnid deos not raed ervey lteter by istlef, but the word as a wlohe.
读懂英文上一段你的也能意思理解了吧?
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-12-26 19:03 , Processed in 0.038045 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表