Üdv!
Mi a legjobb megoldás LO Writert használva egy magyar ékezetes szöveg ékezetmentesítésére?
Valami plugin vagy filter-a lényeg hogy automatikus legyen.
Köszönöm
Ékezetes magyar szöveg ékezettelenítése?
Ékezetes magyar szöveg ékezettelenítése?
OpenOffice 3.1 a Windows Vista -??n
- Zizi64
- Globális moderátorok
- Hozzászólások: 4106
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Ékezetes magyar szöveg ékezettelenítése?
A legelső ötlet, ami az eszembe jut:
"Keresés és csere" funkció + makró.
Már ha azt érted alatta, hogy á->a, Á->A, é->e É->E...stb. csere történjen.
A Makrórögzítő használata közben végre kell hajtani manuálisan egy "Keresés és csere" műveletet. A keresés és cserénél be kell kapcsolnod a kis/nagy betűk megkülönböztetését, felvenni a makrót mondjuk az "á/a" cserével, aztán a makró kódot ciklusba kell szervezni, hogy a többi betűpárral is végigfusson az egész dokumentumon. Célszerű felvenni a makrórögzítővel egy "visszaugrást" is a dokumentum elejére, hogy ne kelljen beavatkozni, amikor ez egyik cserével elér a dokumentum végéig.
Ha viszont ismered az API függvényeket, és jártas vagy a programozásban, akkor nem a Makrórögzítő használatát javaslom, hanem célszerűbb azokat használva MEGÍRNI a makrót.
A kész, működő makrót pedig hozzá lehet rendelni egy új menüponthoz, gyorsbillentyű-kombinációhoz, vagy eszköztár ikonhoz az egyszerű és gyors elérés érdekében.
"Keresés és csere" funkció + makró.
Már ha azt érted alatta, hogy á->a, Á->A, é->e É->E...stb. csere történjen.
A Makrórögzítő használata közben végre kell hajtani manuálisan egy "Keresés és csere" műveletet. A keresés és cserénél be kell kapcsolnod a kis/nagy betűk megkülönböztetését, felvenni a makrót mondjuk az "á/a" cserével, aztán a makró kódot ciklusba kell szervezni, hogy a többi betűpárral is végigfusson az egész dokumentumon. Célszerű felvenni a makrórögzítővel egy "visszaugrást" is a dokumentum elejére, hogy ne kelljen beavatkozni, amikor ez egyik cserével elér a dokumentum végéig.
Ha viszont ismered az API függvényeket, és jártas vagy a programozásban, akkor nem a Makrórögzítő használatát javaslom, hanem célszerűbb azokat használva MEGÍRNI a makrót.
A kész, működő makrót pedig hozzá lehet rendelni egy új menüponthoz, gyorsbillentyű-kombinációhoz, vagy eszköztár ikonhoz az egyszerű és gyors elérés érdekében.
Kovács Tibor, W11/10/7x64Pro, Linux: 7.5.8-25.x.y.z
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4106
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Ékezetes magyar szöveg ékezettelenítése?
Ezt a kódot a Makrórögzítővel vettem fel, aztán a For... ciklust, és a Keres/Csere tömböket kézzel applikáltam bele.
És itt egy konkrét mintafájl a beágyazott makróval. Természetesen - ha minden dokumentumban szeretnéd használni -, akkor át kell emelned a makró-kódot a program Saját makrók - Standard Könyvtárának egy moduljába.
Kód: Egész kijelölése
REM ***** BASIC *****
sub Ekezettelenito
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(18) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 0
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 65536
args1(10).Name = "SearchItem.SearchString"
rem args1(10).Value = "Á" Rem ezt majd a kiegészítésban adom meg, ciklikusan...
args1(11).Name = "SearchItem.ReplaceString"
rem args1(11).Value = "A" Rem ezt majd a kiegészítésban adom meg, ciklikusan...
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1024
args1(17).Name = "SearchItem.Command"
args1(17).Value = 3
args1(18).Name = "Quiet"
args1(18).Value = true
REM --------------------------------------------------------------------------------------
REM A felvett kód kiegészítése:
KeresTomb = array("á","é","í","ó","ö","ő","ú","ü","ű","Á","É","Í","Ó","Ö","Ő","Ú","Ü","Ű")
REM Angol karakterkészlettel:
CsereTomb = array("a","e","i","o","o","o","u","u","u","A","E","I","O","O","O","U","U","U")
REM Távirati stílusban:
REM CsereTomb = array("aa","ee","ii","oo","oe","oee","uu","ue","uee","AA","EE","II","OO","OE","OEE","UU","UE","UEE")
For i = 0 to 17
dispatcher.executeDispatch(document, ".uno:GoToStartOfDoc", "", 0, Array())
args1(10).Value = KeresTomb(i)
args1(11).Value = CsereTomb(i)
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
next i
REM --------------------------------------------------------------------------------------
end sub
Kovács Tibor, W11/10/7x64Pro, Linux: 7.5.8-25.x.y.z
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4106
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Ékezetes magyar szöveg ékezettelenítése?
Ja, és nem ártana frissíteni már a programverziódat és/vagy az aláírásodat...Köszönöm
OpenOffice 3.1 a Windows Vista -??n
Kovács Tibor, W11/10/7x64Pro, Linux: 7.5.8-25.x.y.z
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].