Editor und Zeilenabstand

Smalltalk
Antworten
fischig
Beiträge: 3601
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Editor und Zeilenabstand

Beitrag von fischig » 17.10.2021 11:01:42

Ich habe mir gerade zwei Textschnipsel von zwei Webseiten in eine von featherpad geöffnete Datei kopiert.
So wie's aussieht zeigt featherpad unterschiedliche Zeilenabstände.

Wie kommt das?

Bisher ging ich davon aus, dass jeder Texteditor keinerlei Textformatierungen kennt.

DeletedUserReAsG

Re: Editor und Zeilenabstand

Beitrag von DeletedUserReAsG » 17.10.2021 11:11:21

Ist halt ein Qt-Programm, und Qt kennt verschiedene Fonts und dazugehörige Parameter.

fischig
Beiträge: 3601
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Editor und Zeilenabstand

Beitrag von fischig » 17.10.2021 11:22:43

Daran hatte ich auch gedacht, aber wie kann ich das feststellen? In den Einstellungen von featherpad sehe ich lediglich die von mir eingestellte eine Schriftart. Es ändert sich nichts, wenn ich Teile markiere oder einen der beiden Schnipsel lösche.

(Das alte leafpad zeigt übrigens dasselbe Verhalten :roll:

Geht mir übrigens rein ums Faktum, keinerlei Kritik, Änderungswunsch, etc., deswegen auch Smalltalk

edit:
In geany kann ich keinen Unterschied entdecken.

Huo
Beiträge: 605
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Editor und Zeilenabstand

Beitrag von Huo » 17.10.2021 12:44:22

Ich kenne das gleiche Phänomen vom Editor Mousepad, allerdings nur wenn der eingefügte Text "exotische" Zeichen enthält wie z.B. ⽣ oder ㎤ (das ist ein Zeichen!).

fischig
Beiträge: 3601
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Editor und Zeilenabstand

Beitrag von fischig » 17.10.2021 14:35:47

Huo hat geschrieben:Ich kenne das gleiche Phänomen vom Editor Mousepad, allerdings nur wenn der eingefügte Text "exotische" Zeichen enthält wie z.B. ⽣ oder ㎤ (das ist ein Zeichen!).
Das war auch hier offenbar der Fall. Zumindest der zweite Schnipsel mit dem größeren Zeilenabstand enthielt (deutsche?) Anführungszeichen und einen längeren Bindestrich. Die Schnipsel wandele ich nach dem Import in reines Ascii um; und ich dachte Vorkehrungen getroffen zu haben, dass genau diese Zeichen (deutsche Anführungszeichen, längerer Bindestrich) durch ein eigenes shell-script in passende Ascii-Zeichen umgewandelt werden. Das funktionierte auch bis jetzt. Aber mit den jetzt enthaltenen kam mein Umwandlungs-Script nicht zurecht. Ich werde bei Gelegenheit mal sehen, ob ich rauskriege, welche utf-8-Zeichen ich da aus dem weltweiten Netz gefischt habe, die mein script (noch) nicht verarbeiten kann.

Huo
Beiträge: 605
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Editor und Zeilenabstand

Beitrag von Huo » 17.10.2021 21:13:56

Verantwortlich für die größeren Zeilenabstände sind offenbar genau die Unicode-Zeichen, denen entweder die Eigenschaft "fullwidth" oder "wide" zugeordnet ist (vgl. https://unicode.org/reports/tr11/). Ich habe schnell ein Python-Skript zusammengeschustert, das aus einem eingegebenen String diese "breiten" Zeichen herausfiltert:

Code: Alles auswählen

#!/usr/bin/env python3

import unicodedata
import readline

print("Bitte gib eine Zeichenfolge ein!")
S = input()
print()

c = 0

for i in S:
	if unicodedata.east_asian_width(i) in {"F", "W"}:
		c += 1
		print(i , "\t" , unicodedata.east_asian_width(i) , "\t" , i.encode("unicode_escape"))
if c != 0:
	print("(F = fullwidth, W = wide)")
else:
    print("Keine \"breiten\" Zeichen gefunden")
Anwendungsbeispiel:

Code: Alles auswählen

$ extrabreit.py
Bitte gib eine Zeichenfolge ein!
Dieser Satz enthält „extrabreite〞Zeichen - nicht nur chinesische (⾗ ⽩).

S 	 F 	 b'\\uff33'
  	 F 	 b'\\u3000'
b 	 F 	 b'\\uff42'
〞 	 W 	 b'\\u301e'
- 	 F 	 b'\\uff0d'
⾗ 	 W 	 b'\\u2f97'
⽩ 	 W 	 b'\\u2f69'
(F = fullwidth, W = wide)

Antworten