首页
/ Typographizer——Swift应用的智能引号神器

Typographizer——Swift应用的智能引号神器

2024-05-23 00:15:42作者:胡唯隽

Typographizer Logo

项目简介

Typographizer是一个小巧而强大的Swift库,它的使命是将你的应用程序中的普通直角引号和撇号转换为优雅且符合当地语言习惯的曲线引号。正如Smart Quotes for Smart People所提倡的,优秀的排版应该使用智能引号,而不是简单的直角引号。此库由Frank Rausch精心编写,并已测试兼容macOS、iOS、watchOS和tvOS。

技术解析

Typographizer完全由纯Swift编写,不仅对字符串进行智能化处理,而且足够聪明以避开HTML标签,如<code><pre>等特定标签内的文本。它提供了简单易用的String扩展,可以轻松地在任何支持Swift的平台上实现引号和撇号的智能转换。

应用场景

你可以将Typographizer应用于任何需要提升文本质量的地方,比如:

  1. 富文本编辑器:让用户的输入看起来更加专业。
  2. 阅读器应用:增强网络文章或电子书的阅读体验。
  3. 社交平台:使用户间的交流更显精致。
  4. 博客或者新闻应用:提高内容的可读性。

项目特点

  1. 多语言支持:包括但不限于英语、德语、法语、日语等多种语言,提供地道的引号形式。
  2. 智能处理HTML:能识别并跳过HTML标签,防止意外修改代码片段。
  3. 调试模式:通过插入CSS类帮助开发者可视化改变的字符。
  4. 性能监控:可记录转换过程中的性能数据,以便优化。
  5. Demo应用:附带一个 macOS 的演示应用,快速上手实践。

安装与使用

只需将.swift文件引入Xcode项目中即可。使用方法简便,如下:

var s = "This is a string with \"dumb\" quotes."
s = s.typographized(language: "en")
print(s) // This is a string with “dumb” quotes.

对于包含HTML的字符串,设置isHTML参数为true来避免内部标签被修改:

var s = "This is a \"string\" with HTML. <code class="">print(\"hello world\")</code>"
s = s.typographized(language: "en", isHTML: true)
print(s) // This is a “string” with HTML. <code class="">print("hello world")</code>

探索更多

这个项目正在持续更新,未来可能会加入更多功能,如特殊情况的处理,更多语言的支持等。同时,欢迎遵循贡献指南参与到Typographizer的开发中来。

Typographizer的源码遵循MIT许可证,详细信息见LICENSE文件。

让我们一起享受智能排版的魅力,让每一个细节都体现出专业与品质。现在就开始尝试Typographizer,为你的应用程序增添一丝精致吧!

登录后查看全文
热门项目推荐

热门内容推荐