Hallo Dennis!

Sorry für die späte Antwort.

On 5/20/2009 5:17 PM, Dennis Heidsiek wrote:
aber eine Rückfrage hätte ich dann noch noch ;-):

Matthias Wächter schrieb am 14.05.2009 12:13 Uhr:
Bei mir schaut das exemplarisch in der custom.ahk so aus:

[…]
ActivateCustomCompose() {
  global
  CDS__CompS__Comp := "U00266B"
  ; ßß -> longs s
  CMU0000DF := 1
  CDU0000DFU0000DF := "U00017FU000073"
  CFU0000DF := "U0000DF"
}

ActivateCustomCompose()
[…]

Du hast diesen Code ja schon ausführlichst erklärt (danke nochmal :-)), aber was genau soll denn die Zuweisung CDS__CompS__Comp := "U00266B" bewirken?

Irgendeiner Variable wird da das ♫-Zeichen zugewiesen, aber ich verstehe nicht warum: Wenn ich diese Zeile auskommentiere, tut das Skript auch weiterhin was es soll.

Ich weiß nicht, ob das Deine Frage beantwortet, aber es folgt eine kurze 
Lektion in NeoVars:

Kurze Antwort: Das ist das (nicht komplette) händische Eintragen der 
Compose-Sequenz in NeoVars-Manier.

CDxxxxxxyyyyyy… definiert eine Compose-Sequenz bestehend aus xxxxxxx, gefolgt von yyyyyy und gegebenenfalls weiteren Zeichen bzw. Tastendrücken. Der zugewiesene Text, hier "U00266B" entspricht dem zu erzeugenden Zeichen.

Man braucht für einen kompletten Eintrag eigentlich 3 Variablen:

CMS__Comp := 1
CDS__CompS__Comp := "U00266B"
CRCU00266B .= " S__CompS__Comp"

• Die erste Zeile sagt, dass ein gedrücktes Compose (S__Comp) noch keinen Sommer macht und auf mehr (More, steht für das M im Variablennamen CM…) Zeichen gewartet werden soll. Die Compose-Konvertierung speichert diese Zeile nur dann explizit ab, wenn es die entsprechende Variable noch nicht gibt, um die compose.generated.ahk nicht unnötig aufzublähen bzw. das Variablenmanagement von AHK weniger zu strapazieren. Da CMS__Comp in den meisten Compose-Sequenzen vorkommt, habe ich auf deren explizites Setzen an dieser Stelle verzichtet.

• Die zweite Zeile sagt, was passieren soll, wenn die Sequenz S__Comp + S__Comp einlangt: Nun soll in Compose-Art ersetzt werden, und zwar durch das Zeichen U00266B. Das ist dann auch die Variable, die durch ein automatisches oder dynamisches Compose-Konvertieren des Eintrags in der Compose.neo den Job macht.

• Die dritte Zeile, die schändlicher Weise in meinem Beispiel gefehlt hat, definiert den umgekehrten Weg, der für wiemitneo benötigt wird. Hier wird gezeigt, dass U00266B über zweimaliges Drücken der Compose-Taste erreichbar ist. Es wird an eine möglicherweise bereits existierende Definition angehängt, weil viele Zeichen ja auf mehrere Wege erreichbar sind. Die verschiedenen Möglichkeiten werden dann von wiemitneo aufbereitet und gleichzeitig dargestellt. Ohne diese Variablendefinition wird die gewählte Kombination von wiemitneo nicht angezeigt.


So mal in aller Kürze,
– Mœsi

Attachment: signature.asc
Description: OpenPGP digital signature

Antwort per Email an