返回 内核恐慌内核恐慌 中关于 文字与排版 的单集。
63. Kerning Panic·字谈字串(十)宗师级程序员的排印解决方案
2021年3月16日 · 2:16:22
本期节目由《内核恐慌》与《字谈字畅》串台,聚焦Donald Knuth(高德纳)为解决自己书籍排版不满意而开发的TeX系统及其扩展LaTeX的起源、特征与现状。讨论指出,TeX最初为精确排版数学公式而生,核心优势是自由开源、跨平台输出一致,并衍生出pdfTeX、XeTeX、LuaTeX等引擎以支持Unicode和现代字体。节目也探讨了TeX的争议:批评者认为其垄断阻碍了MathML等更好方案的发展,而支持者则强调其在学术界的统治地位(如《岩波数学辞典》第四版完全用LaTeX排版)。最后介绍了用户组TUG和在线编辑器Overleaf,并指出TeX学习曲线陡峭,但为需要极致控制力的用户(如数学家、计算机科学家)提供了不可替代的解决方案。
58. Kerning Panic·字谈字串(九)名名之中
2020年5月25日 · 2:14:47
本期《内核恐慌》与《字谈字串》串台,聚焦数字空间中的命名规范:从文件名的技术限制(DOS的8.3规则、Windows保留字如COM1、LPT1)到编程标识符的大小写风格(驼峰、蛇形、烤肉串),再到URL和hashtag的字符编码问题。嘉宾Eric和钱蒸鱼回溯了文件扩展名源于CP/M的历史,对比了Mac资源分支与Windows扩展名的哲学差异;讨论了空格、反斜杠、冒号等特殊字符在跨平台时的转义困境,以及日文Windows中反斜杠被日元符号替代的往事。还分析了大小写敏感性与保留性的权衡——现代系统多采用大小写不敏感但保留大小写的方案,而编程语言标识符则严格区分大小写。Unicode带来的复合字符和emoji命名进一步增加了复杂性,导致系统安全漏洞和兼容性难题。
55. Kerning Panic·字谈字串(八)人造千年虫
2019年5月14日 · 1:55:57
本期《内核恐慌》与《字谈字串》串台,讨论日本改元‘令和’引发的计算机软件日期处理与字体排印问题,指出这是新的人造千年虫。节目回顾了2000年千年虫的教训,但日本许多旧系统仍用两位数表示昭和年号,导致2025年面临昭和100年溢出。Excel的1900与1904日期系统差异造成跨平台混乱;Unicode 12.1为令和合字预留码位U+32FF,但实际使用率低,且字体厂商需同时设计横排和竖排字形。日本银行ATM曾因年号切换错误显示为1989年;驾照有效期写平成35年(本不存在),迫使官方后加西历注释。节目还探讨了日本排版的讲究,如数字有全宽、半宽、三分、四分等多套变体,以及竖排中数字需‘纵中横’排列等细节。
54. Get a Mac
2019年3月21日 · 2:10:04
本期节目吴涛和Rio讨论了双拼输入法的学习体验、折叠手机的市场前景、USB 3命名的混乱以及Mac mini 2018的使用体验。吴涛分享了自己学习拼音加加双拼的过程,认为双拼学习曲线类似Vim,但熟练后比全拼更高效。他们比较了三星内折和华为外折的折叠手机方案,认为华为的设计更合理,但屏幕防刮花仍是问题。USB 3命名从3.0到3.2 Gen 2×2的混乱令他们吐槽,认为标准组织不该用版本号迷惑消费者。吴涛入手了i5六核Mac mini 2018,称赞桌面级处理器性能强劲且静音,通过外接NVMe SSD扩展存储。他还吐槽了西数硬盘自加密功能的私有协议问题,推荐用FileVault或DM-Crypt软件加密。
53. Kerning Panic·字谈字串(七)输入法大乱斗
2018年12月11日 · 2:01:28
本期节目全面梳理了中文输入法的历史与现状,从形码(五笔、电报码、四角号码)、音码(拼音)到音形码,核心在于学习曲线与重码率的取舍。智能拼音借助云词库和频率调整大幅降低了重码,成为主流;而追求极致效率的双拼和宫保拼音(Combo拼音)则需更高的学习成本与硬件支持,后者通过chord-typing实现单键输入一个音节。节目还对比了日文输入法的Flick滑动设计,指出东亚用户单手输入的独特需求。最后,主持人安利双拼方案,认为其韵律感强,是拼音输入法的显著进步。
49. Kerning Panic·字谈字串(六)Emoji(再次)拯救世界
2018年1月9日 · 1:32:11
本期《内核恐慌》与《字谈字串》串台节目深入探讨了Emoji背后的 Unicode 技术细节。主持人吴涛、Rio 与嘉宾 Eric 从 UTF-16 的历史遗留问题讲起,解释了代理对(surrogate pair)如何使 UCS-2 扩展为变长编码,以及 Emoji 因位于基本多文种平面之外而迫使旧系统完善支持。随后分析了彩色字体的多种实现——Apple 的 sbix(内嵌 PNG)、Google 的 CBDT/CBLC、Microsoft 的 COLR/CPAL 以及 Adobe/Firefox 的 SVG 方案。节目还介绍了文本与 Emoji 形态的切换机制:语言标签(Zsye/Zsym)、区域扩展(-em)和变体序列(VS15/VS16),并展示了组合序列(如键帽)、修饰序列(肤色)和旗帜序列(国家代码组合)如何通过多个码位合成一个可见 Emoji。最后讨论了字位簇(grapheme cluster)的定义与删除行为,并提及 Twitter 字符计数规则(Emoji 计为2字符、URL 固定长度)背后的权衡。
48. Kerning Panic·字谈字串(五)规范化有四样形式,你知道么?
2017年7月25日 · 2:09:04
本期节目深入探讨了Unicode规范化(Normalization)的四种形式:NFC、NFD、NFKC和NFKD,解释了它们在编码、存储和搜索中的不同用途。主讲人Eric(Speaker 1)指出,Unicode中同一字符可能有多种码位组合,规范化确保字符串等价性,但不同系统(如Windows使用NFC,macOS的HFS+使用NFD)会导致文件交换时出现乱码或字符拆分问题。吴涛和Rio补充了APFS文件系统对规范化不敏感的设计变化,以及它对开发者API选择的影响。节目还延伸到国际化域名(IDN)的伪码攻击风险、emoji域名安全漏洞,以及字体的合字(ligature)在搜索中的障碍。最后,听众反馈环节解答了中西文混排的行高对齐问题。整个讨论强调Unicode规范化的技术复杂性及其在实际应用中的坑。
46. Kerning Panic·字谈字串(四)峰回路转换行来↵
2017年4月4日 · 1:41:36
本期《内核恐慌》与《自弹自唱》串台,主题聚焦计算机换行符(carriage return, line feed, CRLF)的历史与差异。节目从打字机时代讲起,解释回车(CR)是让字车回到行首,换行(LF)是向下移动一行,两者本为独立动作。现代系统中,Unix/Linux使用LF换行,Windows使用CR+LF,经典Mac OS使用CR,而OS X之后改用LF。主持人还探讨了软回车(强制换行)与硬回车(段落结束)在排版中的区别,以及Notepad等编辑器对换行符处理的奇葩行为。此外,节目延续了上一期关于Emoji的讨论,涉及Unicode规范、平台差异及文化视角,并穿插了Git换行符配置、FTP传输模式等程序员日常话题。
45. Kerning Panic·字谈字串(三)🎙😂🤓🤑😌
2016年11月29日 · 1:58:59
本期《内核恐慌》与《字谈字串》串台,聚焦绘文字(Emoji)的全球性议题。节目从观众关于知乎复制乱码的反馈切入,引出Emoji的起源:日本NTT DoCoMo于1998-1999年由栗田穣崇设计首批176个Emoji,后经软银等运营商发展并于Unicode标准化。讨论涵盖Emoji的文化差异(如双手合十在泰国与美国的理解不同)、政治正确(肤色、性别及职业组合)、技术实现(Apple的SBIX位图、微软的COLR/CPAL分层矢量、Adobe的SVG字体)。节目指出Emoji数量已达1791个(Unicode 9.0),输入法依赖分类和关键词搜索,并探讨了ZWJ(零宽连接符)组合家庭、职业等复杂符号的机制。最后以IPN旗下电台logo的Emoji化可能性收尾,强调Emoji已成为一种新兴的象形文字系统,但面临跨平台兼容和语义歧义的挑战。
42. Kerning Panic·字谈字串(二)
2016年7月26日 · 2:02:57
本期《内核恐慌》聚焦字符编码发展史,从日本JIS 0201开始,经中国GB2312、GBK到GB18030,再深入Unicode。两位主播拆解了区位码(94×94矩阵)、CJK统一表意文字、基本多语言平面(BMP)及UTF-8/16/32编码。他们剖析了乱码的成因——包括端序内战、BOM标记和编码不兼容——并批评了Windows记事本的混乱选项。节目还涉及韩文KS编码中的汉字重复、新加坡简体的演变,以及emoji编码的争议(如悬浮男士U+1F574)。最终强调UTF-8是最佳实践。
39. Kerning Panic · 字谈字串(一)
2016年5月16日 · 2:10:56
本期《字谈字串》由《内核恐慌》与《字谈字畅》联合推出,主题是从用户敲击键盘到屏幕上显示文字的完整流程。节目详细介绍了三大主流键盘布局(ANSI、ISO、JIS)的差异,以及日语键盘中假名输入和编码的历史遗留问题,如日元符号替代反斜杠。随后深入字符编码层面,从ASCII扩展到各国家和地区标准(GB、Big5、JIS等),最后统一到Unicode,并解释了CJK统一汉字的认同原则带来的异体字问题。字体技术方面,讨论了点阵与矢量字体的区别、Hinting(渲染提示)在Windows和macOS上的不同哲学——Windows追求清晰而牺牲字形,macOS保留设计原形,以及ClearType和Anti-aliasing的实现。节目还涉及输入法词频调整、emoji与颜文字的区别、TrueType与OpenType的贝塞尔曲线差异,以及全角/半角概念的历史渊源。最终指出,一个简单的打字动作背后是层层历史债务和技术妥协。
33. 没有主题的闲聊
2016年1月10日 · 1:45:47
本集闲聊中,两位主持人讨论了编程中命名困难与概念负债,以Fira Code字体连字特性为例说明工具对代码风格的影响。IPN全站启用HTTPS,并改用Let's Encrypt自动签发证书,Rio还为此用Go编写了并发ACME客户端,10秒内完成验证。回顾了2002与2015年开发者桌面截图对比,观察工具演变。吐槽了Rockchip硬件日历bug让11月有31天,以及IE 8/9/10于2016年1月12日停止支持对中国政府网站的影响。最后提到Debian创始人Ian Murdock去世与Neovim的终端模式特性。
19. 测试
2015年6月15日 · 2:33:32
本期节目中,吴涛和Rio首先讨论了HHKB键盘的使用体验与版本差异,Rio分享了从键盘布局到适应过程的感受。随后,两人读了两封听众来信:一封关于编程学习与恋爱关系的反思,另一封涉及文字编码历史,包括ASCII、Unicode、ISO/2022等标准,并吐槽了Windows的宽字节API。接着,他们简评WWDC,重点谈了Apple Watch的实用性与Swift 2开源的意义。最后进入本期主题“软件测试”,从瀑布模型与敏捷开发的对比切入,深入探讨了TDD(测试驱动开发)的三原则、BDD(行为驱动开发)与Cucumber工具、单元测试框架XUnit家族及Python的doctest,并讨论函数式编程对测试的友好性。两人对TDD持批判态度,认为其压抑创造力,但承认其在大型项目中的必要性。
18. 编码
2015年5月31日 · 58:43
本期《内核恐慌》由吴涛独自主持,围绕计算机编码的核心概念展开,从机器语言、汇编到高级语言的演进,再到ASCII、Unicode等字符编码标准,解释了二进制如何表示文字、图像和声音。节目还包含丰富的读者反馈:一位听众回忆删除DLL导致系统崩溃的经历;另一位从力学角度比较机械键盘和薄膜键盘的压力曲线,指出机械键盘长时间使用可能更费力;还有听众推荐Data Science领域的资源和播客《Talking Machines》。结尾吴涛以幽默方式讨论“程序员如何找女朋友”,强调理解人际沟通的“编码”比技术知识更重要。
16. And Now for Something Completely Different
2015年5月3日 · 1:39:43
本期《内核恐慌》邀请董福兴、梁海、刘庆、陈奕钧四位嘉宾,讨论W3C正在制定的《中文排版需求》草案。节目明确强调这份文档是需求而非标准,旨在为浏览器和电子书等数字环境提供中文排版的参考依据,影响CSS等标准实现。对比日文JIS X 4051标准及其数字版JLREQ,指出中文缺乏类似历史传承的排印规范。陈奕钧介绍了其汉字标准格式项目,并用巧妙的hack实现标点悬挂:利用空格在行首行尾塌陷的特性,结合web font替换空白字符,让标点自动悬挂。嘉宾还分析了中国企业在W3C标准化中参与不足的现状,以及简体繁体与竖排横排等文化差异带来的挑战。
5. 编程字体
2014年11月30日 · 2:18:51
本期《内核恐慌》中,主持人Rio与吴涛全面探讨了编程字体的选择标准与推荐列表,重点讨论了等宽字体在代码可读性中的核心作用。他们指出优秀的编程字体必须清晰区分易混淆字符(如数字0与大写O、小写l与大写I),并介绍了无衬线与衬线、斜体支持等审美维度。吴涛力荐PragmataPro,以极窄字宽和低廉行高实现单屏显示更多代码;Rio则偏爱Input Mono的可定制性,允许用户调整字形细节。此外还回顾了Monaco、Menlo、Consolas等经典字体的历史与特点,并强调了字体设计的版权价值。节目最后鼓励听众通过尝试不同字体来打造个性化的编程环境。