Gibt es eine Version der Arial- oder Tahoma-Schrift mit einzeiligen Ziffern und Leerzeichen?

10061
rossmcm

Die Ziffern in der mit Windows gelieferten Schriftart Arial sind monospaced, da sie jeweils den gleichen horizontalen Platz einnehmen, aber offenbar versäumt haben, eine "monospaced" -Version des Space-Zeichens bereitzustellen. Das bedeutet, dass Sie eine Spalte mit Ziffern nicht in (z. B.) 12 Leerzeichen formatieren können und den rechten Rand ausrichten können. Zum Beispiel:

 1 12 123 1234 12345 1234567 12345678 123456789 1234567890  

funktioniert, da die für Codebeispiele verwendete Schriftart Leerzeichen hat, die dieselbe Breite haben wie Ziffern. Dies funktioniert jedoch nicht, wenn derselbe Text in Arial angezeigt wird (ich kann es nicht demonstrieren, da ich nicht herausfinden kann, wie ich die Neuformatierung von SU im Moment besiegen kann!).

Es ist einfach so, dass Sie mit Tahoma 8 Punkt betrügen können, weil ein Leerzeichen genau die Hälfte der Anzahl von Pixeln als Ziffer ist, aber das ist unordentlich und sehr spezifisch.

5

3 Antworten auf die Frage

6
user1458424

Verwenden Sie einen Zahlenraum, der selbst in einer proportionalen Schrift die gleiche Breite wie eine Ziffer haben sollte:

Ein Figurenraum ist eine typografische Einheit, die der Größe einer einzelnen typografischen Figur (Ziffer oder Buchstabe) entspricht, abzüglich der führenden Zahl. Seine Größe kann je nach verwendeter Schriftart etwas schwanken. Bei Schriften mit einzeiligen Ziffern entspricht sie der Breite einer Ziffer.

Perfekt. Ich kombinierte dies mit einem "dünnen Raum", um schön abgestimmte Gelddarstellungen zu erhalten. Lassen Sie mich in einer separaten Antwort klarstellen. Timo vor 10 Jahren 0
2
Journeyman Geek

Ja, wenn Sie bereit sind, dafür zu zahlen, bietet Monotype eine Vielzahl von Arial-Produkten zum Verkauf an, die nur einen einzigen Aspekt haben .

Auf der anderen Seite, wenn Sie eine gute, serifenlose Schrift wünschen, die kostenlos ist und in vielen Situationen gut funktioniert, würde ich vorschlagen, sich Droid Sans Mono anzuschauen

Hmm. Ich wollte nur die Ziffern und den Raum Mono - ich mag den Tahoma und den arial proportionalen Text sehr. Auch die Demo auf der von Ihnen angegebenen Seite geht nicht auf 8pt zurück - 12px ist 9pt auf meinem Rechner. Auch aus irgendeinem Grund verwirrt sich meine Anzeige mit den Schriftarten und macht sie tatsächlich _less_ lesbar rossmcm vor 12 Jahren 0
2
Timo

I verwendet, um die Abbildung Raum (wie durch user1458424 vorgeschlagen) Zahlen auszurichten und der dünne Raum um Tausende zu trennen.

In JavaScript oder C können Sie die entsprechenden Unicode-Zeichencodes an beliebiger Stelle in einen String eingeben:

  • \u2007: Figurenraum
  • \u202F: Dünner Raum

Die Verwendung des dünnen Bereichs als Tausendertrennzeichen hat einige wesentliche Vorteile:

  • Die Absicht ist sowohl den amerikanischen als auch den europäischen Lesern klar, im Gegensatz zur Verwendung eines ,oder ..
  • Sie können es hinzufügen, unabhängig davon, ob der Wert ist >= 1000, da der Raum für das Auge nicht sichtbar ist.
  • Es ist dünner als das reguläre Leerzeichen, das das Währungszeichen vom Wert trennt, wodurch es besser aussieht, wenn nur ein Leerzeichen hinter dem Währungszeichen steht.

Im Folgenden werde ich beschreiben, was ich getan habe, um das folgende Format zu erhalten (europäisches Dezimaltrennzeichen ,in diesem Beispiel):

  • 1,75 €
  • € 100,00
  • € 199,97
  • € 10 350,00
  • 21 003,18 €
  • 121 018,33 €

    1. Entfernen Sie von der Eingabe alle Nicht-stellige Zeichen: price.replace(/[^\d]+/g, '').
    2. Zählen Sie die ‚fehlenden Zeichen‘: missingDigits = maxDigits - price.length.
    3. Stellen Sie den Ausgabewert auf '€'.
    4. Für jede fehlende Ziffer, fügen Sie eine Zahl Raum zur Ausgabe: '\u2007'.
    5. Hängen Sie alle Eingabeziffern mit Ausnahme der letzten beiden an, dann ein Dezimaltrennzeichen und dann die letzten beiden Ziffern der Eingabe.
    6. Gibt alle Zeichen der Ausgabe mit Ausnahme der letzten sechs zurück, die von einem dünnen Leerzeichen '\u202F'und den letzten sechs Zeichen angehängt werden.

Die Eingabe kann eine beliebige Zeichenfolgendarstellung einer Zahl sein, mit oder ohne Satzzeichen und unzulässigen Zeichen. Die Ausgabe erfolgt wie oben. Sie müssen die maximal zulässige Anzahl von Ziffern auswählen.

Beachten Sie, dass weitere interessante verwandte Zeichen gefunden werden können, z. B. der Zahlenstrich. Timo vor 10 Jahren 0
Denken Sie, Sie könnten die ursprüngliche Antwort besser bearbeiten, um diese nützlichen Extras einzubeziehen. Hilfreich aber. O'Rooney vor 8 Jahren 0