drukowanie haseł: Jak rozróżnić l / 1, o / O / 0 itp. i wizualizować spacje?

10

Chciałbym wydrukować losowo generowane hasła, aby znaki podobne do zera, takie jak zero, litera „o” lub jedna litera „l” były wyraźnie widoczne. Chciałbym również znaleźć sposób na wizualizację spacji, tzn. Szukam czcionki, która to robi, lub alternatywy dla znaków podkreślenia (ponieważ hasła mogą zawierać znaki podkreślenia)

Jak dotąd najlepsze, jakie znalazłem, to „Bitstream vera sans mono” w openoffice na podstawie tego: http://forums.overclockers.co.uk/showthread.PHP?p=16215032 (O dziwo, nie ma go na liście czcionek, ale jeśli go wpisuję, to działa.: /) „Lucida Console” wydaje się nie istnieć w openoffice / libreoffice.

Mógłbym oczywiście zregenerować hasła bez wyglądających podobnie znaków i spacji, ale chciałbym wiedzieć, czy ktoś zna dobre rozwiązanie tego problemu, najlepiej po prostu czcionkę z zerowanymi zerami i widocznymi znakami spacji.

KIAaze
źródło
1
Możesz nieco uprościć ten problem, eliminując kilka kłopotliwych znaków, takich jak spacja. Biorąc pod uwagę duży zestaw znaków składający się z górnych / dolnych liter, cyfr i znaków interpunkcyjnych, wyeliminowałbym na przykład spacje bez znaczącego ograniczenia możliwości kombinatorycznych
uSlackr
Co powiesz na czcionkę OCR-A?
Linker3000
1
Twój system operacyjny może mieć zainstalowany DejaVu zamiast Bitstream Vera. DejaVu to rozwidlenie Bistream Vera, które dodaje wiele wariantów i dodatkowe wsparcie dla innych języków.
afrazier

Odpowiedzi:

3

Jak powiedział @uSlackr, wyeliminowanie kłopotliwych postaci bardzo pomaga, jeśli sam je generujesz.

To powiedziawszy, będziesz chciał przyjrzeć się czcionkom zoptymalizowanym dla programistów, ponieważ cały czas napotykają na tego rodzaju problemy. Każdy ma zdanie, więc Google do „programowania czcionek”, a znajdziesz wiele stron z przykładami do obejrzenia, jak ta . Jestem bardzo stronniczy wobec samego Consolasa:

Próbka Consolasa

Teraz jedyną rzeczą, którą możesz zrobić, aby pomóc z widoczną białą spacją, jest użycie Notatnika2 jako edytora tekstu. (Sam używam wariantu Notepad2-Mod .) Ma opcję widocznych białych znaków, więc tabulatory są oznaczone strzałką, a spacje małą kropką na środku pola znaków. Nie jest to jednak tylko na pokaz, zostaną one również wydrukowane. Poniżej znajduje się migawka pliku PDF utworzonego przez drukowanie z Notatnika 2 z widocznymi białymi znakami i wcięciami na:

Konsole w / spacje

Wszystkie inne edytory oparte na Scintilli prawdopodobnie zachowują się w ten sam sposób.

afrazier
źródło
1

Możesz to zrobić tak, jakby banki drukowały swoje numery PIN - zarówno normalnie, jak i fonetycznie.

Tak więc hasło „h30yg28fi1” zostanie również zapisane:

AICH TRZY ZERO DLACZEGO GEE DWIE OSIEM EFEKTOWY OKO JEDEN

lub coś podobnego.

To całkiem dobrze różnicowałoby „och”, „OH” i „ZERO”, „oko”, „EYE”, „ell”, „ELL” i „ONE”.

Majenko
źródło
1

Przepraszamy za spóźnione opinie. W końcu użyłem tego rozwiązania (czcionka bitstream vera w lateksie z dosłownie *):

\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}

Zostawiłem też kilka innych rzeczy, których próbowałem.

Aby utworzyć z niego pdf:

pdflatex password_printing_4.tex

Jeśli pojawią się jakieś błędy, spróbuj po prostu zainstalować texmakera. To zależy od najbardziej niezbędnych pakietów lateksu:

sudo apt-get install texmaker

Próbowałem również czcionki inconsolata w lateksie, ale nie wygląda to tak samo:

\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}
KIAaze
źródło
To wygląda na najlepszą odpowiedź i tak też pytający (ty :)) zdecydował się rozwiązać problem na końcu. Dlaczego nie zaakceptować?
peth
Może dlatego, że to opublikowałem? W każdym razie tak, zaakceptowane. :)
KIAaze