mencetak kata sandi: Bagaimana saya bisa membedakan l / 1, o / O / 0, dll dan memvisualisasikan spasi?

10

Saya ingin mencetak kata sandi yang dibuat secara acak, sehingga karakter yang mirip seperti nol dan huruf "o" atau satu dan huruf "l" jelas dapat dibedakan. Saya juga ingin menemukan cara untuk memvisualisasikan spasi, yaitu saya sedang mencari font yang melakukan itu atau alternatif untuk menggarisbawahi (karena kata sandi mungkin berisi garis bawah)

Sejauh ini yang terbaik yang saya temukan adalah "Bitstream vera sans mono" di openoffice berdasarkan ini: http://forums.overclockers.co.uk/showthread.PHP?p=16215032 (Anehnya itu tidak tercantum dalam daftar font, tetapi jika saya mengetiknya, ini berfungsi::) "Lucida Console" sepertinya tidak ada di openoffice / libreoffice.

Tentu saja saya bisa membuat ulang kata sandi tanpa karakter dan spasi yang mirip, tetapi saya ingin tahu jika seseorang mengetahui solusi yang bagus untuk masalah ini, idealnya hanya font dengan angka nol dan karakter spasi yang terlihat.

KIAaze
sumber
1
Anda mungkin sedikit menyederhanakan masalah dengan menghilangkan beberapa karakter bermasalah seperti spasi. Dengan rangkaian karakter besar dari huruf besar / kecil, angka dan karakter tanda baca, saya akan menghilangkan spasi misalnya tanpa secara signifikan mengurangi kemungkinan kombinatorik
uSlackr
Bagaimana dengan font OCR-A?
Linker3000
1
OS Anda mungkin sudah menginstal DejaVu alih-alih Bitstream Vera. DejaVu adalah cabang dari Bistream Vera yang menambahkan banyak varian dan dukungan ekstra untuk bahasa lain.
Afrazier

Jawaban:

3

Seperti yang dikatakan @uSlackr, menghilangkan karakter yang merepotkan sangat membantu, jika Anda membuatnya sendiri.

Yang mengatakan, Anda ingin melihat font dioptimalkan untuk programmer, karena mereka mengalami masalah seperti ini sepanjang waktu. Semua orang punya pendapat, jadi Google untuk "font pemrograman" dan Anda akan menemukan banyak halaman dengan sampel untuk dilihat, seperti ini . Saya sendiri sangat tidak setuju dengan Consolas:

Sampel Consolas

Sekarang, satu hal yang dapat Anda lakukan untuk membantu dengan spasi yang terlihat adalah menggunakan Notepad2 sebagai editor teks. (Saya menggunakan varian Notepad2-Mod sendiri.) Ia memiliki opsi untuk spasi putih yang terlihat, jadi tab dilambangkan dengan panah dan spasi dengan titik kecil di tengah ruang karakter. Ini bukan hanya untuk tampilan, ini juga akan dicetak. Di bawah ini adalah snapshot dari PDF yang dibuat dengan mencetak dari Notepad 2 dengan spasi putih yang terlihat dan panduan lekukan pada:

Consolas dg spasi

Semua editor berbasis Scintilla lainnya mungkin berperilaku dengan cara yang sama.

afrazier
sumber
1

Anda dapat melakukannya seperti bank mencetak nomor PIN mereka - baik secara normal maupun fonetis.

Jadi kata sandi 'h30yg28fi1' juga akan ditulis:

AICH TIGA NOL MENGAPA GEE DUA DELAPAN EFF EYE ONE

atau yang serupa.

Itu akan membedakan "oh", "OH" dan "NOL", "mata", "MATA", "ell", "ELL" dan "SATU" dengan cukup baik.

Majenko
sumber
1

Maaf atas umpan balik yang terlambat. Saya menggunakan solusi ini pada akhirnya (font bitstream vera dalam lateks dengan kata demi kata *):

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

Saya meninggalkan beberapa hal lain yang saya coba juga.

Untuk membuat pdf dari itu:

pdflatex password_printing_4.tex

Jika Anda mendapatkan kesalahan, coba instal texmaker. Itu tergantung pada paket lateks yang paling diperlukan:

sudo apt-get install texmaker

Saya juga mencoba font inconsolata dalam lateks, tetapi sepertinya tidak sama:

\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
sumber
Ini terlihat seperti jawaban terbaik dan juga bagaimana penanya (Anda :)) memilih untuk menyelesaikan masalah pada akhirnya. Kenapa tidak menerimanya?
peth
Yah, mungkin karena saya mempostingnya? Bagaimanapun, ya, diterima. :)
KIAaze