moin,
das ging ja schnell: dank viewtopic.php?t=8840 hab ich in die Autokorrektur das halbe geschützte Lerzeichen mal eingefügt. (also nicht direkt, sondern dann vom .odt reinkopiert)
Aber das Ergebnis ist ziemlich ernüchternd: in allen Schriftarten, die ich ausprobiert habe besitzt dieses Leerzeichen die gleiche Breite wie ein normales - wenn es denn überhaupt im Zeichensatz vorhanden ist. In Arial Unicode MS ist das zumindest nicht der Fall.
Also bleibt wohl echt nur das umwandeln im Nachhinein per suchen und ersetzen bzw. mit Makro.
mFg
m
##
wie es mit den anderen Leerzeichen aussieht hab ich nicht getestet. für mich was erstmal das wichtigste, dass das halbe >geschützte< funktioniert
Viertelchen (ein viertel Leerzeichen) einfügen
Moderator: Moderatoren
-
- **
- Beiträge: 31
- Registriert: Fr, 25.08.2006 23:24
Sorry, unformatierter Code mach komische Dinge mit mir 
Ich hab lang genug Python geschrieben um zu wissen, wie nützlich Einrückungen und Abstände im Quellcode sind 
(Dies führt michzurück zu (La)TeX: der Erfinder (Donald Knuth) ist Autor der Bücherserie "The Art of Computer Programming" - darin beschreibt er u.a. wie wichtig es ist, Code ordentlich zu schreiben
)

Code: Alles auswählen
Sub GroKlei
Dim sText As String
sText=""
'aktuelles Dokument
xDoc=ThisComponent
xController=xDoc.CurrentController
'Cursor im Doc
xVCrsr=xController.getViewCursor
CurPos=xVCrsr.getPosition()
'gesamtes Dokument
oText=xDoc.Text
xSelection = xDoc.CurrentController.getSelection
'Range des aktuellen Selection
xRange=xSelection(0)
xCursor=xRange.getText.createTExtCursorByRange(xRange)
'Wort markieren
sText=xCursor.GetString()
If Len(sText) <= 0 Then
xCursor.gotoStartOfWord(False)
xCursor.GotoEndOfWord(True)
'String aus Wort ermitteln
sText=xCursor.GetString()
End If
'klein > groß
If sText=LCase(sText) Then
sText=UCase(Left$(sText,1)) + Right$(sText, Len(sText)-1)
'Einfügen
oText.InsertString(xCursor,sText,True)
Exit Sub
End If
'groß > klein
If sText=UCase(sText) Then
oText.InsertString(xCursor,strConvert(stext,0),True)
Exit Sub
End If
'gemischt
If Left$(sText,1) = UCase(Left$(sText,1)) Then
oText.InsertString(xCursor,strConvert(stext,1),True)
Exit Sub
End If
oText.InsertString(xCursor,strConvert(stext,1),True)
End Sub
Function strConvert (cText As String, Flag As Integer) As String
iRun = 1
while iRun < Len(cText)+1
If Flag=1 Then
Mid( cText ,iRun, 1, UCase(Mid(cText,iRun,1))
Else
Mid( cText ,iRun, 1, LCase(Mid(cText,iRun,1))
End If
iRun = iRun + 1
Wend
strConvert=cText
End Function
sub halbesLeer
'define variables
dim document as object
dim dispatcher as object
'get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:InsertNonBreakingSpace", "", 0, Array())
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Count"
args2(0).Value = 1
args2(1).Name = "Select"
args2(1).Value = true
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args2())
dim args3(2) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Escapement.Escapement"
args3(0).Value = -101
args3(1).Name = "Escapement.Height"
args3(1).Value = 45
args3(2).Name = "Escapement.Auto"
args3(2).Value = true
dispatcher.executeDispatch(document, ".uno:Escapement", "", 0, args3())
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Count"
args4(0).Value = 1
args4(1).Name = "Select"
args4(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args4())
end sub
sub halbgeviertstrich
'define variables
dim document as object
dim dispatcher as object
'get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Text"
args1(0).Value = "–"
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args1())
end sub
Sub Typo_Zeichen
oDoc = thisComponent
oViewC = oDoc.getCurrentController().getViewCursor()
oDoc.text.insertString(oViewC.start, chr(8222), false)
oDoc.text.insertString(oViewC.end, chr(8220), false)
End Sub
sub zumBeispiel
'define variables
dim document as object
dim dispatcher as object
'get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Text"
args1(0).Value = "z."
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:InsertNonBreakingSpace", "", 0, Array())
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Text"
args3(0).Value = "B."
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args3())
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Count"
args4(0).Value = 1
args4(1).Name = "Select"
args4(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args4())
dim args5(1) as new com.sun.star.beans.PropertyValue
args5(0).Name = "Count"
args5(0).Value = 1
args5(1).Name = "Select"
args5(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args5())
dim args6(1) as new com.sun.star.beans.PropertyValue
args6(0).Name = "Count"
args6(0).Value = 1
args6(1).Name = "Select"
args6(1).Value = true
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args6())
dim args7(2) as new com.sun.star.beans.PropertyValue
args7(0).Name = "Escapement.Escapement"
args7(0).Value = 101
args7(1).Name = "Escapement.Height"
args7(1).Value = 40
args7(2).Name = "Escapement.Auto"
args7(2).Value = true
dispatcher.executeDispatch(document, ".uno:Escapement", "", 0, args7())
dim args8(1) as new com.sun.star.beans.PropertyValue
args8(0).Name = "Count"
args8(0).Value = 1
args8(1).Name = "Select"
args8(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args8())
dim args9(1) as new com.sun.star.beans.PropertyValue
args9(0).Name = "Count"
args9(0).Value = 1
args9(1).Name = "Select"
args9(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args9())
dim args10(1) as new com.sun.star.beans.PropertyValue
args10(0).Name = "Count"
args10(0).Value = 1
args10(1).Name = "Select"
args10(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args10())
end sub

(Dies führt michzurück zu (La)TeX: der Erfinder (Donald Knuth) ist Autor der Bücherserie "The Art of Computer Programming" - darin beschreibt er u.a. wie wichtig es ist, Code ordentlich zu schreiben

-
- ***
- Beiträge: 61
- Registriert: Fr, 23.12.2005 09:17
-
- **
- Beiträge: 33
- Registriert: Mi, 24.05.2006 16:51
-
- **
- Beiträge: 31
- Registriert: Fr, 25.08.2006 23:24
Hehe... äh, ja... öhm - dankewolle2000 hat geschrieben:Du hast schon 'ne sehr merkwürdige Art, Danke zu sagen

Anstelle der horizontalen Linien kannst du auch jede 2. Zeile 10% grau einfärben (oder eine andere helle/blasse Farbe zum Layout passend). Wichtig ist auch hier ein gegebener Abstand vom Inhalt zum Zellenrand (padding).OberHoffis hat geschrieben:Ich weiß, es ist OT, aber ich lese gerade das in diesem Thread empfohlene typokurz.pdf. Die Anmerkungen zu Tabellen finde ich seltsam.
Wenn deine Tabelle komisch ausschaut, würde ich dir empfehlen den Grauwert zu verändern (Text statt Blocksatz links ausgerichtet, manuelle Umbrüche...)
Schlussendlich ist es auch eine Frage der Schrift. In Tabellen sind Serifen keine gute Wahl, wenn die Spalten sehr schmal sind. Hier bieten sich serifenlose wie Tahoma an. Du solltest jedoch konsequent in (allen!) Tabellen die selbe Schrift verweden - wenn du nur ein paar schmal-spaltige Tabellen, jedoch einige mehr mit satterem Tabellenlayout verwendest, solltest du (auch wenns zunächst blöd ausschaut) dort ebenfalls serifenbetonte Schriften verwenden. Für den Druck eignet sich sehr gut die Gentium (die sieht nur auf dem Schirm bescheiden aus) oder aber Garamond und Georgia (letztere macht auch auf nem CRT/TFT ne gute Figur)...
So, genug Offtopic

LG
Dominik
- Arran
- ***
- Beiträge: 90
- Registriert: Mi, 11.04.2007 19:06
- Wohnort: Isle of Arran, Schottland
- Kontaktdaten:
Re:
Hallo Dominik:Karbrüggen hat geschrieben:Und wenn wir schon dabei sind: Ich hätte gerne auch eine Unterstützung für Ligaturen in OOo.
In guten Fonts, sind oft viele Ligaturen bereits integriert. Die kannst Du ohne Probleme über die Zeichentabelle integrieren, resp. Du suchst die Liste der ASCII Codes. das ae ist zB die Alt-Taste und 0230 tippen. Probiers mal: «æ». ich habe mir so eine Tabelle in PDF-Form gebastelt. Wer will kann mir eine Email schicken, ich sende sie dann gerne zu. Email Adresse im Profil. In Kauf-Fonts geht es dann noch weiter, die haben auch «ffl», «ffi» und andere Ligaturen. Ein Font, den ich kaufte, die Cardo (Ersatz für die Bembo, eine der schönsten klassischen Antiquas) sind total an die 500 Zeichen. Auch die Frutiger Next verfügt über solche Feinhzeiten. Leider sind Kauffonts nicht gerade günstig.
Und noch etwas: Im Buch Sprachschule für Schriftsetzer von Walter Heuer (NZZ Verlag) ist klar gefordert, dass die Anführungszeichen als « (alt+0171) und » (alt+0187) gesezt werden und nicht »...«. Siehe auch http://de.wikipedia.org/wiki/Guillemets. Dort ist beschrieben, dass es in Deutschland eine Ausnahme-Regel gibt.
Herzliche Grüsse von Schottlands schönster Ferieninsel
Betriebssystem: Linux Mint Debian Edition, Grafikkarte: Nvidia I-8400-GS, Monitor: HP LP2065, drehbar, Prozessor: Intel 3core. Abgesehen davon, zeimlich gesund.
Betriebssystem: Linux Mint Debian Edition, Grafikkarte: Nvidia I-8400-GS, Monitor: HP LP2065, drehbar, Prozessor: Intel 3core. Abgesehen davon, zeimlich gesund.