reneo + kbdneo: T3(1) ␣ erzeugt (') Apostroph, richtig wäre (´) Akut #618

Closed
opened 2022-10-21 02:51:44 +02:00 by fabianunterstell · 6 comments

Betriebssystem Windows 10 Education
Version 10.0.19044 Build 19044

Neo layout mit: Reneo v1.5.4 + kbdneo

Bug: T3(1) ␣ (Tottaste3 in Ebene 1, danach Leertaste Ebene 1) erzeugt ' (Apostroph), sollte aber einen (´) Akut erzeugen.

Aus dem Benutzerhandbuch:
Für die Darstellung der toten Tasten gibt es zwei Möglichkeiten: Wird nach einer toten Taste ein normales (␣) Leerzeichen eingegeben, erhält man eine normal große Darstellung des Zeichens (sofern vorhanden)

Im Referenzlayout wird T3(1) auch als Akut und nicht als Apostroph definiert.

Betriebssystem Windows 10 Education Version 10.0.19044 Build 19044 Neo layout mit: Reneo v1.5.4 + kbdneo Bug: T3(1) ␣ (Tottaste3 in Ebene 1, danach Leertaste Ebene 1) erzeugt ' (Apostroph), sollte aber einen (´) Akut erzeugen. Aus dem [Benutzerhandbuch](https://www.neo-layout.org/Benutzerhandbuch/Tote-Tasten-und-Compose/#darstellung-von-tastenkombinationen): Für die Darstellung der toten Tasten gibt es zwei Möglichkeiten: Wird nach einer toten Taste ein normales (␣) Leerzeichen eingegeben, erhält man eine normal große Darstellung des Zeichens (sofern vorhanden) Im [Referenzlayout](https://git.neo-layout.org/neo/neo-layout/src/branch/master/A-REFERENZ-A/neo20.txt) wird T3(1) auch als Akut und nicht als Apostroph definiert.
Owner

Der Fehler ist auch in den Compose-Dateien für den Linux-Desktop vorhanden, das Mapping <dead_acute> <space> → ' stammt aus der „Standard“-Compose-Datei. Da sollten wir dann auch nachbessern.

Eventuell macht es auch Sinn, in der Referenz die toten Tasten deutlicher als solche zu markieren (etwa wie bei Wikipedia: Combining-Akzente auf einem gestrichelten Kreis, z.B. ◌́).

EDIT: <dead_belowdot> <space> (T2(6)) erzeugt einen kombinierenden Unterpunkt (U+0323). Es scheint aber keinen nichtkombinierenden Unterpunkt zu geben. Die Alternative hier wäre wohl U+002E FULL STOP?

Der Fehler ist auch in den Compose-Dateien für den Linux-Desktop vorhanden, das Mapping `<dead_acute> <space> → '` stammt aus der „Standard“-Compose-Datei. Da sollten wir dann auch nachbessern. Eventuell macht es auch Sinn, in der Referenz die toten Tasten deutlicher als solche zu markieren (etwa wie bei Wikipedia: Combining-Akzente auf einem gestrichelten Kreis, z.B. ◌́). EDIT: `<dead_belowdot> <space>` (T2(6)) erzeugt einen kombinierenden Unterpunkt (U+0323). Es scheint aber keinen nichtkombinierenden Unterpunkt zu geben. Die Alternative hier wäre wohl U+002E FULL STOP?
Owner

Im diacritics.module, welches man sowieso benutzen sollte, steht U+002E eingetragen für <dead_belowdot> <nobreakspace>, in meiner XCompose auch für die Variante mit <space> (wobei ich nicht weiß, wo die Zeile herkommt).

Was das Issue betrifft, besteht hier noch Diskussionsbedarf über die tatsächliche Definition. Die Referenz ist da vielleicht nicht eindeutig:

Eine Darstellung eines toten Zeichens (Diakritika) selbst wird erreicht, indem ihm das geschützte Leerzeichen (Shift+Mod3+Space) nachgestellt wird; ein folgendes normales Leerzeichen ergibt hingegen die untote Variante.
Beispiele: „T1 Shift+Mod3+Space“ ergibt „ˆ“, aber „T1 Space“ ergibt „^“.

Ich verstehe das so, dass die „untote“ Variante die große ist, die in der Standard-Compose-Datei definiert wird, während die diakritische Variante mit dem geschützten Leerzeichen erreicht wird (sofern man das diacritics.module aktiviert hat). Dabei wird versucht, so gut es geht passende Spacing Modifier Letters zu verwenden.

Die Beschreibung im Benutzerhandbuch habe ich vor zwei Jahren selbst aus der früheren Beschreibung abgeleitet und versucht, etwas klarer zu definieren. Hier erscheint mir die Referenzbeschreibung ungenau, denn die „untote“ Variante bezieht sich im Handbuch auf eine graphisch gleichwertige Darstellung des diakritischen Zeichens – nur eben nicht als kombinierendes Zeichen.

Jedoch wird mir nach erneuter Lektüre klar, dass die Zeichen nicht konsistent festgelegt sind. Die Definitionen bei Neo sind mal die Modifier Letters und mal Zeichen aus ASCII/ISO8859. Die Kombinationen für die „große“ sowie die untote/diakritische Variante beim Akut ergeben bspw. U+0027 (Apostrophe) und U+00B4 (Acute Accent), obwohl ich eher U+00B4 und U+02CA (Modifier Letter Acute Accent) erwarten könnte? (Und somit überhaupt kein Apostroph.) Beim Gravis sind es dagegen beide Male U+0060 (Grave Accent) – zu erwarten wären U+0060 und U+02CB (Modifier Letter Grave Accent).

Vielleicht sollte man den Inhalt von diacritics.module überarbeiten und dann auch um die korrigierten <space>-Varianten ergänzen.

Im [diacritics.module](https://git.neo-layout.org/neo/neo-layout/src/branch/master/Compose/src/diacritics.module), welches man sowieso benutzen sollte, steht U+002E eingetragen für `<dead_belowdot> <nobreakspace>`, in meiner XCompose auch für die Variante mit `<space>` (wobei ich nicht weiß, wo die Zeile herkommt). Was das Issue betrifft, besteht hier noch Diskussionsbedarf über die tatsächliche Definition. Die [Referenz](https://git.neo-layout.org/neo/neo-layout/src/branch/master/A-REFERENZ-A/neo20.txt#L149) ist da vielleicht nicht eindeutig: > Eine Darstellung eines toten Zeichens (Diakritika) selbst wird erreicht, indem ihm das geschützte Leerzeichen (Shift+Mod3+Space) nachgestellt wird; ein folgendes normales Leerzeichen ergibt hingegen die untote Variante. Beispiele: „T1 Shift+Mod3+Space“ ergibt „ˆ“, aber „T1 Space“ ergibt „^“. Ich verstehe das so, dass die „untote“ Variante die große ist, die in der Standard-Compose-Datei definiert wird, während die diakritische Variante mit dem geschützten Leerzeichen erreicht wird (sofern man das diacritics.module aktiviert hat). Dabei wird versucht, so gut es geht passende [Spacing Modifier Letters](https://en.wikipedia.org/wiki/Spacing_Modifier_Letters) zu verwenden. Die Beschreibung im Benutzerhandbuch habe ich vor zwei Jahren selbst aus der [früheren Beschreibung](https://old-wiki.neo-layout.org/neowiki/wiki/Tote%20Tasten%20und%20Compose#DarstellungvonTastenkombinationen) abgeleitet und versucht, etwas klarer zu definieren. Hier erscheint mir die Referenzbeschreibung ungenau, denn die „untote“ Variante bezieht sich im Handbuch auf eine graphisch gleichwertige Darstellung des diakritischen Zeichens – nur eben nicht als kombinierendes Zeichen. Jedoch wird mir nach erneuter Lektüre klar, dass die Zeichen nicht konsistent festgelegt sind. Die Definitionen bei Neo sind mal die Modifier Letters und mal Zeichen aus ASCII/ISO8859. Die Kombinationen für die „große“ sowie die untote/diakritische Variante beim Akut ergeben bspw. U+0027 (Apostrophe) und U+00B4 (Acute Accent), obwohl ich eher U+00B4 und U+02CA (Modifier Letter Acute Accent) erwarten könnte? (Und somit überhaupt kein Apostroph.) Beim Gravis sind es dagegen beide Male U+0060 (Grave Accent) – zu erwarten wären U+0060 und U+02CB (Modifier Letter Grave Accent). Vielleicht sollte man den Inhalt von diacritics.module überarbeiten und dann auch um die korrigierten `<space>`-Varianten ergänzen.
Owner

@fabianunterstell
In kbdneo ist für T3(1)+Space tatsächlich der Akut (U+00B4) definiert. ReNeo verwendet dagegen dieselben Definitionen wie für Linux, weswegen du den Apostroph bekommst.

@fabianunterstell In [kbdneo](https://git.neo-layout.org/neo/neo-layout/src/branch/master/windows/kbdneo2/source/kbdneo2/kbdneo2.c#L964) ist für T3(1)+Space tatsächlich der Akut (U+00B4) definiert. ReNeo verwendet dagegen dieselben Definitionen wie für Linux, weswegen du den Apostroph bekommst.
Owner

Aktueller Stand

Tottaste mit Leerzeichen mit geschütztem Leerzeichen
Zirkumflex ^ CIRCUMFLEX ACCENT (U+005E) ˆ MODIFIER LETTER CIRCUMFLEX ACCENT (U+02C6)
Gravis ` GRAVE ACCENT (U+0060) ` GRAVE ACCENT (U+0060)
Akut ' APOSTROPHE (U+0027) ´ ACUTE ACCENT (U+00B4)
Hatschek ˇ CARON (U+02C7) ˇ CARON (U+02C7)
Cedille ¸ CEDILLA (U+00B8) ¸ CEDILLA (U+00B8)
Tilde ~ TILDE (U+007E) ˜ SMALL TILDE (U+02DC)
(Dreh) ↻ CLOCKWISE OPEN CIRCLE ARROW (U+21BB) ↻ CLOCKWISE OPEN CIRCLE ARROW (U+21BB)
Ringakzent ° DEGREE SIGN (U+00B0) ˚ RING ABOVE (U+02DA)
Querstrich / SLASH (U+002F) / SLASH (U+002F)
Punkt oben ˙ DOT ABOVE (U+02D9) ˙ DOT ABOVE (U+02D9)
Trema " QUOTATION MARK (U+0022) ¨ DIAERESIS (U+00A8)
Doppelakut ˝ DOUBLE ACUTE ACCENT (U+02DD) ˝ DOUBLE ACUTE ACCENT (U+02DD)
Haken ˞ MODIFIER LETTER RHOTIC HOOK (U+02DE) ˞ MODIFIER LETTER RHOTIC HOOK (U+02DE)
Dasia ῾ GREEK DASIA (U+1FFE) ῾ GREEK DASIA (U+1FFE)
Psili ᾿ GREEK PSILI (U+1FBF) ᾿ GREEK PSILI (U+1FBF)
Punkt unten . DOT (U+002E) . DOT (U+002E)
Makron ¯ MACRON (U+00AF) ¯ MACRON (U+00AF)
Breve ˘ BREVE (U+02D8) ˘ BREVE (U+02D8)

Die Zeichen aus dem U+02xx-Bereich sind Spacing Modifier Letters, auch wenn es vom Namen her nicht ersichtlich ist. Für Makron, Akut und Gravis gibt es in diesem Unicodeblock jeweils ein eigenes Zeichen.

Unterschiedliche Symbole gibt es aktuell nur bei Zirkumflex, Akut, Tilde, Ringakzent, Trema.

### Aktueller Stand | Tottaste | mit Leerzeichen | mit geschütztem Leerzeichen | | -- | -- | -- | | Zirkumflex | ^ CIRCUMFLEX ACCENT (U+005E) | ˆ MODIFIER LETTER CIRCUMFLEX ACCENT (U+02C6) | | Gravis | ` GRAVE ACCENT (U+0060) | ` GRAVE ACCENT (U+0060) | | Akut | ' APOSTROPHE (U+0027) | ´ ACUTE ACCENT (U+00B4) | | Hatschek | ˇ CARON (U+02C7) | ˇ CARON (U+02C7) | | Cedille | ¸ CEDILLA (U+00B8) | ¸ CEDILLA (U+00B8) | | Tilde | ~ TILDE (U+007E) | ˜ SMALL TILDE (U+02DC) | | (Dreh) | ↻ CLOCKWISE OPEN CIRCLE ARROW (U+21BB) | ↻ CLOCKWISE OPEN CIRCLE ARROW (U+21BB) | | Ringakzent | ° DEGREE SIGN (U+00B0) | ˚ RING ABOVE (U+02DA) | | Querstrich | / SLASH (U+002F) | / SLASH (U+002F) | | Punkt oben | ˙ DOT ABOVE (U+02D9) | ˙ DOT ABOVE (U+02D9) | | Trema | " QUOTATION MARK (U+0022) | ¨ DIAERESIS (U+00A8) | | Doppelakut | ˝ DOUBLE ACUTE ACCENT (U+02DD) | ˝ DOUBLE ACUTE ACCENT (U+02DD) | | Haken | ˞ MODIFIER LETTER RHOTIC HOOK (U+02DE) | ˞ MODIFIER LETTER RHOTIC HOOK (U+02DE) | | Dasia | ῾ GREEK DASIA (U+1FFE) | ῾ GREEK DASIA (U+1FFE) | | Psili | ᾿ GREEK PSILI (U+1FBF) | ᾿ GREEK PSILI (U+1FBF) | | Punkt unten | . DOT (U+002E) | . DOT (U+002E) | | Makron | ¯ MACRON (U+00AF) | ¯ MACRON (U+00AF) | | Breve | ˘ BREVE (U+02D8) | ˘ BREVE (U+02D8) | Die Zeichen aus dem U+02xx-Bereich sind Spacing Modifier Letters, auch wenn es vom Namen her nicht ersichtlich ist. Für Makron, Akut und Gravis gibt es in diesem Unicodeblock jeweils ein eigenes Zeichen. Unterschiedliche Symbole gibt es aktuell nur bei Zirkumflex, Akut, Tilde, Ringakzent, Trema.
Owner

Dem Pull Request entsprechend wurden einige Symbole angepasst:

Tottaste mit Leerzeichen mit geschütztem Leerzeichen
Akut ´ ACUTE ACCENT (U+00B4) ´ ACUTE ACCENT (U+00B4)
Trema ¨ DIAERESIS (U+00A8) ¨ DIAERESIS (U+00A8)
Doppelakut " QUOTATION MARK (U+0022) ˝ DOUBLE ACUTE ACCENT (U+02DD)

Weitere Änderungen wurden nicht vorgenommen. Zirkumflex, Tilde und Ringakzent bleiben unverändert, die übrigen Diakritika geben jeweils das gleiche Zeichen mit Leerzeichen und geschütztem Leerzeichen aus. Es gibt zwar spezielle Spacing Modifier Letters, bspw. beim Gravis den U+02CB MODIFIER LETTER GRAVE ACCENT. Diese Zeichen sind jedoch vorrangig zur Nutzung im IPA vorgesehen. Zudem sehen sie in vielen Schriftarten auch leicht anders aus als der Akzent über/unter einem Buchstaben, was dem eigentlichen Zweck widersprechen würde.

@fabianunterstell Du kannst deine ReNeo-Installation aktualisieren, indem du die geänderten Dateien mit den Compose-Kombinationen von hier in das compose-Verzeichnis von ReNeo kopierst – es genügen base.module und base.remove. Danach einmal ReNeo neu starten oder im Kontextmenü neu laden lassen.

Dem Pull Request entsprechend wurden einige Symbole angepasst: | Tottaste | mit Leerzeichen | mit geschütztem Leerzeichen | | -- | -- | -- | | Akut | ´ ACUTE ACCENT (U+00B4) | ´ ACUTE ACCENT (U+00B4) | | Trema | ¨ DIAERESIS (U+00A8) | ¨ DIAERESIS (U+00A8) | | Doppelakut | " QUOTATION MARK (U+0022) | ˝ DOUBLE ACUTE ACCENT (U+02DD) | Weitere Änderungen wurden nicht vorgenommen. Zirkumflex, Tilde und Ringakzent bleiben unverändert, die übrigen Diakritika geben jeweils das gleiche Zeichen mit Leerzeichen und geschütztem Leerzeichen aus. Es gibt zwar spezielle Spacing Modifier Letters, bspw. beim Gravis den U+02CB MODIFIER LETTER GRAVE ACCENT. Diese Zeichen sind jedoch vorrangig zur Nutzung im [IPA](https://de.wikipedia.org/wiki/Internationales_Phonetisches_Alphabet) vorgesehen. Zudem sehen sie in vielen Schriftarten auch leicht anders aus als der Akzent über/unter einem Buchstaben, was dem eigentlichen Zweck widersprechen würde. @fabianunterstell Du kannst deine ReNeo-Installation aktualisieren, indem du die geänderten Dateien mit den Compose-Kombinationen von [hier](https://git.neo-layout.org/neo/neo-layout/src/branch/master/Compose/src) in das `compose`-Verzeichnis von ReNeo kopierst – es genügen `base.module` und `base.remove`. Danach einmal ReNeo neu starten oder im Kontextmenü neu laden lassen.

@qwertfisch vielen Dank für das update

@qwertfisch vielen Dank für das update
Sign in to join this conversation.
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: neo/neo-layout#618
No description provided.