From 617adf85157eec87ff3fc4f177cb71af260539e7 Mon Sep 17 00:00:00 2001 From: martin_r Date: Mon, 15 Sep 2008 01:08:23 +0000 Subject: Compose-Automatisierung für den AHK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@872 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/autohotkey/Compose/AutoComp1.bas | 38 +++++++++++++++++++++++ windows/autohotkey/Compose/AutoComp2.bas | 52 ++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 windows/autohotkey/Compose/AutoComp1.bas create mode 100644 windows/autohotkey/Compose/AutoComp2.bas (limited to 'windows/autohotkey/Compose') diff --git a/windows/autohotkey/Compose/AutoComp1.bas b/windows/autohotkey/Compose/AutoComp1.bas new file mode 100644 index 0000000..ad740f6 --- /dev/null +++ b/windows/autohotkey/Compose/AutoComp1.bas @@ -0,0 +1,38 @@ +Rem Compose-AHK-Konverter +Rem © 2008 Martin Paul Roppelt (m.p.roppelt@web.de) – GPL 2/3 +Rem +Rem Basic-Datei für OpenOffice (2.4): +Rem Dateipfade an das Zielsystem anpassen! +Rem +Rem Anleitung: +Rem OpenOffice-Basic aufrufen (Alt-x,m,v,m; Alt-n). +Rem Strg-a; Symbolleisten-Schaltfläche: BASIC-Quelltext einfügen, diese Datei auswählen. +Rem Skript ausführen (Alt-x,m,a oder F5). + + +Sub Main + Open "C:\Users\Martin_2\NEO\Compose\Compose.neo" For Input Lock Write As #1 + Open "C:\Users\Martin_2\NEO\Compose\en_US.UTF-8" For Input Lock Write As #2 + Open "C:\Users\Martin_2\Programmieren\NEO\ComposeList.txt" For Output Lock Read Write As #3 + + LeseDatei(1) + LeseDatei(2) + + Close 1, 2, 3 +End Sub + +Sub LeseDatei(DateiNummer% as Integer) + While Not Eof(DateiNummer%) + Line Input #DateiNummer%, DateiZeile$ + Dateizeile$ = LTrim(DateiZeile$) + If Left(DateiZeile$, 1) = "<" Then + DoppelpunktPosition% = InStr(DateiZeile$, ":") + Definition$ = RTrim( Left(DateiZeile$, DoppelpunktPosition% - 1) ) + KlammerAufPosition1% = InStr(Definition$, "<") + KlammerZuPosition1% = InStr(Definition$, ">") + Taste1$ = Mid(Definition$, KlammerAufPosition1% + 1, KlammerZuPosition1% - KlammerAufPosition1% - 1) + If Taste1$ = "Multi_key" Then Print #3, DateiZeile$ + End If + Wend +End Sub + diff --git a/windows/autohotkey/Compose/AutoComp2.bas b/windows/autohotkey/Compose/AutoComp2.bas new file mode 100644 index 0000000..dde2bae --- /dev/null +++ b/windows/autohotkey/Compose/AutoComp2.bas @@ -0,0 +1,52 @@ +REM ***** BASIC ***** + +'Programm zur Umwandlung einer ComposeList.txt-Datei in eine Compose.ahk-Datei. +'© 14. und 15. Sept. 2008 Martin Paul Roppelt (m.p.roppelt@web.de) – GPL 2/3 + +'Anleitung: +'Pfade anpassen :-) +'Alle Tabulatoren durch ein /einzelnes/ Leerzeichen ersetzen. +'Skript ausführen. +'Korrektur von ein paar ungelösten kleinen Problemchen: +'Letzte Zeile der Ausgabedatei durch "}" ersetzen. +'Folgende Zeilen abändern (muss man in der Quelldatei suchen!): +'CheckCompUni(" ", 0xE04A", 0x) -> +'CheckCompUni(" +'CheckCompUni(" ", 0xE04A) +'CheckCompUni(" ", 0x????) +'Compose unter Windows genießen! + +Sub Main + Open "C:\Users\Martin_2\Programmieren\NEO\ComposeList16.txt" For Binary Lock Write As #1 + Open "C:\Users\Martin_2\NEO\windows\autohotkey\Source\Compose.ahk" For Output Lock Read Write As #2 + Print #2, "CheckCompose() {" + Print #2, "CheckCompUni("; chr(34); + Position& = -2 + For Position& = 1 To Lof(1) Step 2 + Get #1, Position&, a% + If a% = 10 Then + Print #2, ")" : Klammer% = 0: Kommentar% = 0: Quotedbl% = 0 + Print #2, "CheckCompUni("; chr(34); + ElseIf a%=asc(":") Then + Print #2, chr(34); ", 0x"; + Zeichen% = 1 + ElseIf a%=asc(" ") Then + ElseIf a%=asc("<") Then + Klammer% = Klammer% + 1 + If Klammer% > 2 Then Print #2, " "; + If Klammer% <> 1 and Kommentar% <> 1 Then Print #2, "<"; + ElseIf a% = 34 Then + Quotedbl% = Quotedbl% + 1 + If Quotedbl% = 2 Then + Kommentar% = 1 + Zeichen = 0 + EndIf + ElseIf Klammer% <> 1 and a% < 255 and a% > 0 and Kommentar% <> 1 and Zeichen% <> 1 Then + Print #2, Chr(a%); + ElseIf Klammer% <> 1 and Kommentar% <> 1 Then + If a% <> -257 Then Print #2, Iif(Len(Hex(a%))>4, Right(Hex(a%),4),Hex(a%)); + End If + Next + Print #2, "}" + Close 1, 2 +End Sub -- cgit v1.2.3