💠

💠 2024-05-09 14:32:49


字体

Deepin wiki 字体
有哪些适合用于写代码的西文字体?
What are the best programming fonts?
大家都用什么字体写代码的?

基础知识

ttf otf eot woff woff2

参考: Web 字体简介: TTF, OTF, WOFF, EOT & SVG

  1. TTF (TrueType Font) 字体格式是由苹果和微软为 PostScript 而开发的字体格式。
  2. OTF (OpenType Font) 由 TTF 演化而来,是 Adobe 和微软共同努力的结果。
  3. EOT (Embedded Open Type) 字体是微软设计用来在 Web 上使用的字体。
  4. WOFF (Web Open Font Format) 本质上是 metadata + 基于 SFNT 的字体(如 TTF、OTF 或其他开放字体格式)。
  5. WOFF2 是 WOFF 的下一代。 WOFF2 格式在原有的基础上提升了 30% 的压缩率。
  6. SVG (Scalable Vector Graphics font) 字体格式使用 SVG 的字体元素定义。

资源

Github

website


Tips

使用字体保护网页敏感信息

场景:网页上需要公开展示一些敏感信息(例如手机号)避免被爬虫爬取(其实只能增加一点点难度)

实现思路:

  1. 网页直接静态化,不通过后端请求
  2. 展示的值是特殊字体(例如 LeeTreeshadow)渲染后的值,而不是普通的字符串,即无法直接通过复制粘贴,读取网页HTML得到真实值
  3. 字体文件还能再通过js用base64加载进来,规避F12直接看到字体ttf文件
  4. 每个网页使用不同的unicode和数字映射规则,加大数据字典构造复杂度
  5. 再对整体静态结果资源进行混淆

爬虫破解思路

  1. 得到字体实际unicode字符串值
  2. 数据字典构造
    1. 人工去寻找unicode值和肉眼看到的数字组成数据字典(才10个数字),但是遇到多规则就无法人工完成了
    2. 终极:通过unicode值的规律来推算出数据字典 0-9 是有序依次递增的unicode值,而手机号通常首位为1

符号

符号

制表符

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    ┌ 	┬ 	┐ 	  	┏ 	┳ 	┓ 	  	╒ 	╤ 	╕ 	  	╭ 	─ 	╮
    ├ 	┼ 	┤ 	  	┣ 	╋ 	┫ 	  	╞ 	╪ 	╡ 	  	│ 	╳ 	│
    └ 	┴ 	┘ 	  	┗ 	┻ 	┛ 	  	╘ 	╧ 	╛ 	  	╰ 	─ 	╯
    ┏ 	┳ 	┓ 	  	┏ 	━ 	┓ 	  	┎ 	┰ 	┒ 	  	┍ 	┯ 	┑
    ┣ 	╋ 	┫ 	  	┃ 	  	┃ 	  	┠ 	╂ 	┨ 	  	┝ 	┿ 	┥
    ┗ 	┻ 	┛ 	  	┗ 	━ 	┛ 	  	┖ 	┸ 	┚ 	  	┕ 	┷ 	┙
    ┏ 	┱ 	┐ 	  	┌ 	┲ 	┓ 	  	┌ 	┬ 	┐ 	  	┏ 	┳ 	┓
    ┡ 	╃ 	┤ 	  	├ 	╄ 	┩ 	  	┟ 	╁ 	┧ 	  	┞ 	┴ 	┦
    └ 	┴ 	┘ 	  	└ 	┴ 	┘ 	  	┗ 	╁ 	┛ 	  	└ 	┴ 	┘
    ─ 	━ 	┄ 	┅ 	┈ 	┈ 	╲ 	  	  	  	  	  	  	  	 
    │ 	┃ 	┆ 	┇ 	┊ 	┋ 	╱ 	  	  	  	  	  	  	  	 

个人习惯

操作系统默认字体

  • 微软雅黑
  • Adobe 楷体 Std

编辑器

  • Fira Code Retina
  • IBM Plex Mono SemiBold Github
  • Cascadia-Code Github

IDEA

  • Roboto Mono Medium Appearance custom font
  • IBM Plex Mono SemiBold Editor
    • JetBrainsMono 开启连字符

终端

  • Cascadia Mono PL
  • Source Code Pro for Powerline
    • 并且 + Powerline + Awesonme 的 Bold 最适合ZSH的 Bullet Train 主题
  • Droid Sans Mono for Powerline
  • Roboto Mono for Powerline Bold
  • JetBrainsMono Nerd Font Mono Regular