我想打印随机生成的密码,这样看起来相似的字符(如零和字母“o”或一和字母“l”)就可以清晰区分。我还想找到一种方法来可视化空格,即我正在寻找一种可以做到这一点的字体或下划线的替代品(因为密码可能包含下划线)
到目前为止,我发现最好的是 openoffice 中的“Bitstream vera sans mono”,基于此:http://forums.overclockers.co.uk/showthread.PHP?p=16215032 (奇怪的是,它没有列在字体列表中,但如果我输入它,它就可以工作。:/)“Lucida Console”似乎不存在于 openoffice/libreoffice 中。
我当然可以重新生成不包含相似字符和空格的密码,但我想知道是否有人知道这个问题的好解决方案,理想情况下只使用带有斜线零和可见空格字符的字体。
答案1
正如@uSlackr 所说,如果您自己生成这些字符,消除麻烦的字符会很有帮助。
尽管如此,你还是需要查看针对程序员优化的字体,因为他们总是会遇到这类问题。每个人都有自己的看法,所以在 Google 上搜索“编程字体”,你会发现很多页面都有示例可供查看,比如这个。 我是非常我自己也偏爱 Consolas:
现在,你可以做一件事来帮助解决可见的空白,那就是使用记事本2作为文本编辑器。(我使用Notepad2-Mod我自己也尝试过这个变体。)它有一个可见空白的选项,因此制表符用箭头表示,空格用字符空间中间的小点表示。但这不仅仅是为了显示,这些也会打印出来。下面是通过 Notepad 2 打印创建的 PDF 的快照,其中可见空白和缩进指南已打开:
所有其他闪烁- 的编辑器可能以相同的方式运行。
答案2
您可以像银行打印 PIN 码那样进行操作 - 既可以正常打印,也可以语音打印。
因此密码“h30yg28fi1”也会写成:
AICH 三 零 为什么 GEE 二 八 EFF 眼睛一
或类似的东西。
这样可以很好地区分“oh”、“OH”和“ZERO”、“eye”、“EYE”、“ell”、“ELL”和“ONE”。
答案3
抱歉反馈晚了,最后我用了这个方案(latex 中的 bitstream vera 字体,带 verbatim*):
\documentclass{article}
\usepackage{bera}
\begin{document}
% text using bera font (Bitstream Vera), which has dotted zeroes
% the * after verbatim adds visible spaces
\begin{verbatim*}'1 l oO0}4 _i6D-WtF#q\end{verbatim*}
% visible space
hello\textvisiblespace world
% slashed zero
\o
\end{document}
我还留下了一些我尝试过的其他东西。
要从中创建 PDF:
pdflatex password_printing_4.tex
如果出现任何错误,请尝试安装 texmaker。它依赖于大多数必要的 latex 包:
sudo apt-get install texmaker
我也在 latex 中尝试了 inconsolata 字体,但是好像不一样:
\documentclass{article}
\usepackage{inconsolata}
%\usepackage{bera}
% requires texlive-xetex package:
\usepackage[xetex]{graphicx}
%\usepackage{fontspec,xunicode}
%\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
%\setmainfont[Scale=.95]{Inconsolata}
\begin{document}
% text using bera font (Bitstream Vera), which has dotted zeroes
% the * after verbatim adds visible spaces
\begin{verbatim*}`!=}k o6~-cRR1loO0\end{verbatim*}
%\renewcommand{\bera}{\inconsolata}
\texttt{This is Inconsolata. zero: 0}
%\renewcommand{\inconsolata}{\bera}
\texttt{This is Bera. zero: 0}
% visible space
hello\textvisiblespace world
% slashed zero
\o
\end{document}