给导师做古籍数字化项目,用Python处理碑文拓片。为了让表格对齐,我信心满满用了"中".center(20),结果输出到终端直接裂开——"中"和"α"宽度不一样,"𠀀"干脆占两格。
查了半天才知道,Unicode里东亚文字是"全角",拉丁字母是"半角",还有些字符是"中立"的。更坑的是,终端字体、编辑器、PDF渲染,三者对齐方式各玩各的。最后被迫上了wcwidth库,手写对齐算法,凌晨三点还在调偏移量。
现在看到"等宽字体"四个字就PTSD发作。有没有兄弟做过终端中文对齐的,来交流下血泪史?