打印密码:如何区分l / 1,o / O / 0等并显示空间?


10

我想打印随机生成的密码,以便可以清晰地区分类似零和字母“ o”或一个字母和“ l”的字符。我还想找到一种可视化空间的方法,即我正在寻找一种能做到这一点的字体或下划线的替代字体(因为密码可能包含下划线)

到目前为止,我发现的最好的是基于以下内容的openoffice中的“ Bitstream vera sans mono”:http : //forums.overclockers.co.uk/showthread.PHP?p=16215032 (奇怪的是,它没有在字体列表中列出,但是如果我键入它,它就可以工作。:/)“ Lucida Console”在openoffice / libreoffice中似乎不存在。

我当然可以重新生成没有相似字符和空格的密码,但是我想知道是否有人知道该问题的一种很好的解决方案,理想情况下,该字体应该是带有斜线零和可见空格字符的字体。


1
您可以通过消除一些麻烦的字符(例如空格)来稍微简化问题。考虑到较大的字符集,包括上/下字母,数字和标点符号,我将消除空格,而不会显着降低组合的可能性
uSlackr

OCR-A字体怎么样?
Linker3000

1
您的操作系统可能安装了DejaVu,而不是Bitstream Vera。DejaVu是Bistream Vera的一个分支,它添加了许多变体和对其他语言的额外支持。
afrazier 2011年

Answers:


3

正如@uSlackr所说的,如果您自己生成这些麻烦的字符,则对他们有很大的帮助。

就是说,您将要研究为程序员优化的字体,因为它们一直会遇到这类问题。每个人都有自己的见解,因此Google对“编程字体”进行了搜索,您会发现很多带有示例的页面,例如这样的示例。我本人非常喜欢Consolas:

Consolas样本

现在,可以帮助解决可见空白的一件事是使用Notepad2作为文本编辑器。(我自己使用Notepad2-Mod变体。)它有一个可见空白的选项,因此选项卡用箭头表示,并且在字符空间的中间用小点表示空格。不过,这不仅用于显示,还会打印出来。以下是通过从记事本2打印而创建的PDF的快照,其上带有可见的空格和缩进指南:

Consolas带空格

所有其他基于Scintilla的编辑器可能都具有相同的行为。


1

您可以像银行正常或通过语音打印PIN码那样进行操作。

因此,密码“ h30yg28fi1”也将写为:

AICH三零为什么要吃两个八效眼

或类似的东西。

这样可以很好地区分“ oh”,“ OH”和“零”,“眼睛”,“ EYE”,“ ell”,“ ELL”和“ ONE”。


1

很抱歉收到您的反馈意见。我最终使用了此解决方案(带逐字*的乳胶中的位流vera字体):

\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。这取决于最必要的乳胶包装:

sudo apt-get install texmaker

我也尝试过使用乳胶中的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}

这看起来是最好的答案,也是问问者(您:))最终选择解决问题的方式。为什么不接受呢?
peth

好吧,也许是因为我发布了?无论如何,是的,接受了。:)
KIAaze 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.