diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 07:31:06 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 07:31:06 +0000 |
commit | 4426f750a371adfb909e25ecfba3fd303b83692e (patch) | |
tree | ba067c4dab28213298ccd54ce2eb73f81ea55379 /dictionaries/hu_HU/pythonpath | |
parent | Initial commit. (diff) | |
download | libreoffice-dictionaries-4426f750a371adfb909e25ecfba3fd303b83692e.tar.xz libreoffice-dictionaries-4426f750a371adfb909e25ecfba3fd303b83692e.zip |
Adding upstream version 1:24.2.0.upstream/1%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dictionaries/hu_HU/pythonpath')
4 files changed, 391 insertions, 0 deletions
diff --git a/dictionaries/hu_HU/pythonpath/lightproof_handler_hu_HU.py b/dictionaries/hu_HU/pythonpath/lightproof_handler_hu_HU.py new file mode 100644 index 0000000..cc25e40 --- /dev/null +++ b/dictionaries/hu_HU/pythonpath/lightproof_handler_hu_HU.py @@ -0,0 +1,119 @@ +import uno +import unohelper +import lightproof_opts_hu_HU +from lightproof_impl_hu_HU import pkg + +from com.sun.star.lang import XServiceInfo +from com.sun.star.awt import XContainerWindowEventHandler + +# options +options = {} + +def load(context): + try: + l = LightproofOptionsEventHandler(context) + for i in lightproof_opts_hu_HU.lopts: + l.load(i) + except: + pass + +def get_option(page, option): + try: + return options[page + "," + option] + except: + try: + return options[page[:2] + "," + option] + except: + return 0 + +def set_option(page, option, value): + options[page + "," + option] = int(value) + +class LightproofOptionsEventHandler( unohelper.Base, XServiceInfo, XContainerWindowEventHandler ): + def __init__( self, ctx ): + p = uno.createUnoStruct( "com.sun.star.beans.PropertyValue" ) + p.Name = "nodepath" + p.Value = "/org.openoffice.Lightproof_%s/Leaves"%pkg + self.xConfig = ctx.ServiceManager.createInstance( 'com.sun.star.configuration.ConfigurationProvider' ) + self.node = self.xConfig.createInstanceWithArguments( 'com.sun.star.configuration.ConfigurationUpdateAccess', (p, ) ) + self.service = "org.libreoffice.comp.pyuno.LightproofOptionsEventHandler." + pkg + self.ImplementationName = self.service + self.services = (self.service, ) + + # XContainerWindowEventHandler + def callHandlerMethod(self, aWindow, aEventObject, sMethod): + if sMethod == "external_event": + return self.handleExternalEvent(aWindow, aEventObject) + + def getSupportedMethodNames(self): + return ("external_event", ) + + def handleExternalEvent(self, aWindow, aEventObject): + sMethod = aEventObject + if sMethod == "ok": + self.saveData(aWindow) + elif sMethod == "back" or sMethod == "initialize": + self.loadData(aWindow) + return True + + def load(self, sWindowName): + child = self.getChild(sWindowName) + for i in lightproof_opts_hu_HU.lopts[sWindowName]: + sValue = child.getPropertyValue(i) + if sValue == '': + if i in lightproof_opts_hu_HU.lopts_default[sWindowName]: + sValue = 1 + else: + sValue = 0 + set_option(sWindowName, i, sValue) + + def loadData(self, aWindow): + sWindowName = self.getWindowName(aWindow) + if (sWindowName == None): + return + child = self.getChild(sWindowName) + for i in lightproof_opts_hu_HU.lopts[sWindowName]: + sValue = child.getPropertyValue(i) + if sValue == '': + if i in lightproof_opts_hu_HU.lopts_default[sWindowName]: + sValue = 1 + else: + sValue = 0 + xControl = aWindow.getControl(i) + xControl.State = sValue + set_option(sWindowName, i, sValue) + + def saveData(self, aWindow): + sWindowName = self.getWindowName(aWindow) + if (sWindowName == None): + return + child = self.getChild(sWindowName) + for i in lightproof_opts_hu_HU.lopts[sWindowName]: + xControl = aWindow.getControl(i) + sValue = xControl.State + child.setPropertyValue(i, str(sValue)) + set_option(sWindowName, i, sValue) + self.commitChanges() + + def getWindowName(self, aWindow): + sName = aWindow.getModel().Name + if sName in lightproof_opts_hu_HU.lopts: + return sName + return None + + # XServiceInfo method implementations + def getImplementationName (self): + return self.ImplementationName + + def supportsService(self, ServiceName): + return (ServiceName in self.services) + + def getSupportedServiceNames (self): + return self.services + + def getChild(self, name): + return self.node.getByName(name) + + def commitChanges(self): + self.node.commitChanges() + return True diff --git a/dictionaries/hu_HU/pythonpath/lightproof_hu_HU.py b/dictionaries/hu_HU/pythonpath/lightproof_hu_HU.py new file mode 100644 index 0000000..8f36b17 --- /dev/null +++ b/dictionaries/hu_HU/pythonpath/lightproof_hu_HU.py @@ -0,0 +1,4 @@ +# -*- encoding: UTF-8 -*- +from __future__ import unicode_literals +dic = [['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Aa] [Aa](?![-\\w\\u2013\\u00AD])', 'a', 'Szóismétlés.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Éé][Ss] [Éé][Ss](?![-\\w\\u2013\\u00AD])', 'és', 'Szóismétlés.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Hh][Oo][Gg][Yy][ -][Hh][Oo][Gg][Yy] [Nn][Ee][Mm](?![-\\w\\u2013\\u00AD])', 'hogyhogy nem/hogy, hogy nem', 'Hiányzó vessző vagy egybeírás', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Hh][Oo][Gg][Yy]-[Hh][Oo][Gg][Yy](?![-\\w\\u2013\\u00AD])', 'hogyhogy', 'Egybeírás.', False, 0], ['(?u)([-\\w]+) hogy\\b(?![-])', '\\1, hogy', 'Hiányzó vessző?', 'word(s[m.end():],1) and morph(LOCALE,m.group(1), r"po:(vrb|noun)\\b") and not m.group(1) in [u"feltéve", "kell"]', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-\\w]+) hogy(?![-\\w\\u2013\\u00AD])', '\\1, hogy', 'Hiányzó vessző?', 'option(LOCALE,"comma") and not re.match(u"(feltéve|ahelyett|anélkül|aszerint|hogy)$", m.group(1))', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-\\w]+), (ahelyett|anélkül|aszerint), hogy(?![-\\w\\u2013\\u00AD])', '\\1, \\2 hogy|\\1 \\2, hogy', 'Kötőszószerű kapcsolat esetén nem írunk a „hogy” elé vesszőt. | http://helyesiras.mta.hu/helyesiras/default/akh12#244', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-\\w]+), illetve, (ha|hogy)(?![-\\w\\u2013\\u00AD])', '\\1, illetve \\2', 'Kötőszószerű kapcsolat esetén nem írunk az „illetve” után vesszőt. | http://helyesiras.mta.hu/helyesiras/default/akh12#244', False, 0], ['(?u)((?<=[!?.] )|^)(?P<low_1>[a-zöüóőúéáűí]+)(?![-\\w\\u2013\\u00AD])', '= m.group("low_1").capitalize()', 'Hiányzó nagy kezdőbetű?', 'paralcap.search(TEXT) and not abbrev.search(TEXT)', 0], ['(?u)((?<=[!?.] )|^)(?P<low_1>[a-zöüóőúéáűí]+)(?![-\\w\\u2013\\u00AD])', '= m.group("low_1").capitalize()', 'Hiányzó nagy kezdőbetű?', 'option(LOCALE,"cap") and not abbrev.search(TEXT)', 0], ['(?u)^[-—] ', '– ', 'A gondolatjel nagykötőjel | http://helyesiras.mta.hu/helyesiras/default/akh12#240l', 'option(LOCALE,"dash")', 0], ['(?u) [-—]([ ,;])', ' –\\1', 'A gondolatjel nagykötőjel | http://helyesiras.mta.hu/helyesiras/default/akh12#240l', 'option(LOCALE,"dash")', 0], ['(?u)^[-–](?P<word_1>[a-zöüóűőúéáíA-ZÖÜÓŰŐÚÉÁÍ]+)', '– \\g<word_1>', 'Gondolatjel szóközzel a felsorolásnál | http://helyesiras.mta.hu/helyesiras/default/akh12#259', 'option(LOCALE,"dash")', 0], ['(?u)[[][.][.][.]]', '[…]', 'Három pont | http://helyesiras.mta.hu/helyesiras/default/akh12#241b', 'option(LOCALE,"elli")', 0], ['(?u)[.][.][.]', '…', 'Három pont | http://helyesiras.mta.hu/helyesiras/default/akh12#241b', 'option(LOCALE,"elli")', 0], ['(?u) +([.?!,:;)”])\\b', '\\1 ', 'Felcserélt szóköz és írásjel?', False, 0], ['(?u) +([.?!,:;)”])', '\\1', 'Szóköz nélkül tapadó írásjel | http://helyesiras.mta.hu/helyesiras/default/akh12#240', False, 0], ['(?u)[:,;]([.?!,;:])(?P<E_1>( |$))', '\\1\\g<E_1>', 'Felesleges írásjel.', False, 0], ['(?u)\\b[.][.](?P<E_1>( |$))', '.\\g<E_1>|…\\g<E_2>', 'Pont vagy három pont? | http://helyesiras.mta.hu/helyesiras/default/akh12#241b', False, 0], ['(?u)(\\w)(?P<punct_1>[?!,:;%‰‱°„”])(?P<Abc_1>[a-zöüóűőúéáíA-ZÖÜÓŰŐÚÉÁÍ])', '\\1\\g<punct_1> \\g<Abc_1>', 'Hiányzó szóköz?', False, 0], ['(?u)(?P<abc_1>[a-zöüóűőúéáí])[.](?P<ABC_1>[A-ZÖÜÓŰŐÚÉÁÍ])', '\\g<abc_1>. \\g<ABC_1>', 'Hiányzó szóköz?', False, 0], ['(?u)(^|\\b|(?P<punct_1>[?!,:;%‰‱°„”])|[.]) {2,3}(\\b|$)', '\\1 ', 'Felesleges szóköz.', 'option(LOCALE,"spaces")', 0], ['(?u)(^|\\b|(?P<punct_1>[?!,:;%‰‱°„”])|[.]) {4,}(\\b|$)', '\\1 |\\1\t', 'Szóközök cseréje egy szóközre vagy tabulátorra:', 'option(LOCALE,"spaces2")', 0], ['(?iu)(\\d+)([Xx]| [Xx] )(\\d+(-\\w+)?)', '\\1×\\3|\\1\u202f·\u202f\\3', 'Szorzásjel. | http://hu.wikisource.org/wiki/A_magyar_helyesírás_szabályai/Az_írásjelek#275.', False, 0], ["(?iu)(?P<word_1>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ]+)['´](?P<b_1>(?P<Abc_1>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ])*)", '\\g<word_1>’\\g<b_1>', 'Valódi aposztróf. | http://helyesiras.mta.hu/helyesiras/default/akh12#275', 'option(LOCALE,"apost")', 0], ["(?u)['´](\\d\\d(-\\w+)?)", '’\\1', 'Valódi aposztróf. | http://helyesiras.mta.hu/helyesiras/default/akh12#275', 'option(LOCALE,"apost")', 0], ['(?u)[)]', '', 'Felesleges zárójel?', 'option(LOCALE,"par") and not "(" in TEXT', 0], ['(?iu)[\\"“”‟„]((?P<word_1>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ]+)[^\\"“”‟„]*)[\\"“‟]', '„\\1”', 'Idézőjelek. | http://helyesiras.mta.hu/helyesiras/default/akh12#240j', 'option(LOCALE,"quot")', 0], ['(?iu)[\\"“”‟]((?P<word_1>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ]+)[^\\"“”‟„]*)[\\"“”‟]', '„\\1”', 'Idézőjelek. | http://helyesiras.mta.hu/helyesiras/default/akh12#240j', 'option(LOCALE,"quot")', 0], ['(?iu),,((?P<word_1>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ]+)[^\\"“”‟„_1><\']*)\'\'', '„\\1”', 'Idézőjelek. | http://helyesiras.mta.hu/helyesiras/default/akh12#240j', False, 0], ['(?iu)>>((?P<word_1>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ]+)[^\\"“”‟„_1><\']*)<<', '»\\1«', 'Idézőjelek. | http://helyesiras.mta.hu/helyesiras/default/akh12#240j', False, 0], ['(?iu)‘+((?P<word_1>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ]+)[^\\"“”‟„’]*)’+', '„\\1”|»\\1«', 'Idézőjelek. | http://helyesiras.mta.hu/helyesiras/default/akh12#240j', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([(„»]) +(?![-\\w\\u2013\\u00AD])', '\\1', 'Szóköz nélkül tapadó írásjel. | http://helyesiras.mta.hu/helyesiras/default/akh12#240', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD]) +([«])(?![-\\w\\u2013\\u00AD])', '\\1', 'Szóköz nélkül tapadó írásjel. | http://helyesiras.mta.hu/helyesiras/default/akh12#240', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?iu)«((?P<word_1>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ]+)[^\\"“”‟„’]*)»(?![-\\w\\u2013\\u00AD])', '»\\1«', 'Felcserélt belső idézőjelek. | http://helyesiras.mta.hu/helyesiras/default/akh12#240j', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(\\d[\\d \xa0\u202f.]*)(,?(?:[-–]|00?)? F[Tt](?:-\\w+)?(?: \\(|, )(?:azaz|vagyis) )([-\\w]+)( [Ff][Oo][Rr][Ii][Nn][Tt]\\w*\\)?)(?![-\\w\\u2013\\u00AD])', '= m.group(1) + m.group(2) + calc("NUMBERTEXT", (re.sub(u"[ \xa0\u202f.]", "", m.group(1)), "hu")) + m.group(4)', 'A két összeg nem egyezik.', 'option(LOCALE,"money") and calc("NUMBERTEXT", ("1", "hu")) and calc("NUMBERTEXT", (re.sub(u"[ \xa0\u202f.]", "", m.group(1)), "hu")).replace(u"kettő", u"két").replace(u"ezeregyszáz", u"ezerszáz") != re.sub(r"\\begy(száz|ezer)", r"\\g<1>", m.group(3)).replace(u"ezeregyszáz", u"ezerszáz").replace(u"kettő", u"két")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])((?P<Abc_1>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ])[ \xa0]){4,}(?P<Abc_2>[a-zA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíA-ZÖÜÓŰŐÚÉÁÍ])\\b(?![-\\w\\u2013\\u00AD])', '=re.sub("[ \xa0]", "", m.group(0)) + "\\n" + re.sub("[ \xa0]", "\u202f", m.group(0))', 'Ritkítás nélkül vagy nem törő keskeny szóközökkel:', 'option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<d2_1>−?\\d{2,3})(?P<dn_1>\\d{3}(?![ \xa0][0-9])(,\\w{1,4})?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '\\g<d2_1>\xa0\\g<dn_1>', 'Nagy számok tagolása. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and not option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<d1_1>−?\\d{1,3})(?P<d3_1>\\d{3})(?P<dn_1>\\d{3}(?![ \xa0][0-9])(,\\w{1,4})?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '\\g<d1_1>\xa0\\g<d3_1>\xa0\\g<dn_1>', 'Nagy számok tagolása. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and not option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<d1_1>−?\\d{1,3})(?P<d3_1>\\d{3})(?P<d3_2>\\d{3})(?P<dn_1>\\d{3}(?![ \xa0][0-9])(,\\w{1,4})?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '\\g<d1_1>\xa0\\g<d3_1>\xa0\\g<d3_2>\xa0\\g<dn_1>', 'Nagy számok tagolása. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and not option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<d2_1>−?\\d{2,3})\xa0?(?P<dn_1>\\d{3}(?![ \xa0][0-9])(,\\w{1,4})?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '\\g<d2_1>\u202f\\g<dn_1>', 'Nagy számok tagolása nem törő keskeny szóközökkel. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<d1_1>−?\\d{1,3})\xa0?(?P<d3_1>\\d{3})\xa0?(?P<dn_1>\\d{3}(?![ \xa0][0-9])(,\\w{1,4})?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '\\g<d1_1>\u202f\\g<d3_1>\u202f\\g<dn_1>', 'Nagy számok tagolása nem törő keskeny szóközökkel. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<d1_1>−?\\d{1,3})\xa0?(?P<d3_1>\\d{3})\xa0?(?P<d3_2>\\d{3})\xa0?(?P<dn_1>\\d{3}(?![ \xa0][0-9])(,\\w{1,4})?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '\\g<d1_1>\u202f\\g<d3_1>\u202f\\g<d3_2>\xa0\\g<dn_1>', 'Nagy számok tagolása nem törő keskeny szóközökkel. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])-(?P<d2_1>\\d{2,3})(?P<dn_1>\\d{3}(,\\w+)?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '−\\g<d2_1>\xa0\\g<dn_1>', 'Nagy számok tagolása. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and not option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])-(?P<d1_1>\\d{1,3})(?P<d3_1>\\d{3})(?P<dn_1>\\d{3}(,\\w+)?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '−\\g<d1_1>\xa0\\g<d3_1>\xa0\\g<dn_1>', 'Nagy számok tagolása. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and not option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])-(?P<d1_1>\\d{1,3})(?P<d3_1>\\d{3})(?P<d3_2>\\d{3})(?P<dn_1>\\d{3}(,\\w+)?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '−\\g<d1_1>\xa0\\g<d3_1>\xa0\\g<d3_2>\xa0\\g<dn_1>', 'Nagy számok tagolása. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and not option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])-(?P<d2_1>\\d{2,3})\xa0?(?P<dn_1>\\d{3}(,\\w+)?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '−\\g<d2_1>\u202f\\g<dn_1>', 'Nagy számok tagolása nem törő keskeny szóközökkel. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])-(?P<d1_1>\\d{1,3})\xa0?(?P<d3_1>\\d{3})\xa0?(?P<dn_1>\\d{3}(,\\w+)?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '−\\g<d1_1>\u202f\\g<d3_1>\u202f\\g<dn_1>', 'Nagy számok tagolása nem törő keskeny szóközökkel. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])-(?P<d1_1>\\d{1,3})\xa0?(?P<d3_1>\\d{3})\xa0?(?P<d3_2>\\d{3})\xa0?(?P<dn_1>\\d{3}(,\\w+)?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '−\\g<d1_1>\u202f\\g<d3_1>\u202f\\g<d3_2>\u202f\\g<dn_1>', 'Nagy számok tagolása nem törő keskeny szóközökkel. | http://helyesiras.mta.hu/helyesiras/default/akh12#274', 'option(LOCALE,"numpart") and option(LOCALE,"thin")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d[\\d,]*)[ \xa0]([%‰‱°](-\\w*)?)(?![-\\w\\u2013\\u00AD])', '\\1\\2', 'Szóköz nélkül tapadó írásjel. | http://helyesiras.mta.hu/helyesiras/default/akh12#275', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d\\d*)[.](\\d\\d*)\\b(?![.])([%‰‱°](-\\w*)?)(?![-\\w\\u2013\\u00AD])', '\\1,\\2\\3', 'Tizedesvessző a helyes írásjel. | http://helyesiras.mta.hu/helyesiras/default/akh12#293', 'option(LOCALE,"comma")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(\\d\\d*)[.](\\d)\\b(?![.])(?![-\\w\\u2013\\u00AD])', '\\1,\\2|\\1.\\2.', 'Tizedestört vagy sorszám? | http://helyesiras.mta.hu/helyesiras/default/akh12#293', 'option(LOCALE,"comma") and (not wordmin(s[:m.start()],1) or not re.match("[A-Z]", wordmin(s[:m.start()],1)))', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])((\\d\\d*[.]){2}\\d)\\b(?![.])(?![-\\w\\u2013\\u00AD])', '\\1.', 'A sorszámot pont követi.', 'option(LOCALE,"comma") and option(LOCALE,"grammar") and not wordmin(s[:m.start()],1) or not re.match("[A-Z]", wordmin(s[:m.start()],1))', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(\\d\\d\\d+)[.](\\d\\d)\\b(?![.])(?![-\\w\\u2013\\u00AD])', '\\1,\\2|\\1.\\2.', 'Tizedestört vagy sorszám? | http://helyesiras.mta.hu/helyesiras/default/akh12#293', 'option(LOCALE,"comma")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])-(\\d+([ \xa0]\\d\\d\\d){0,3}(,\\d+)?[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '−\\1', 'Mínuszjel kiskötőjel helyett.', 'option(LOCALE,"minus")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])-(\\d+([ \xa0]\\d\\d\\d){0,3})[.](\\d+[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '−\\1,\\2', 'Mínuszjel és tizedesvessző. | http://helyesiras.mta.hu/helyesiras/default/akh12#293', 'option(LOCALE,"minus")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(−\\d+([ \xa0]\\d\\d\\d){0,3})[.](\\d+[%‰‱°]?(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '\\1,\\2', 'Tizedesvessző pont helyett. | http://helyesiras.mta.hu/helyesiras/default/akh12#293', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?)[ \xa0](°(-\\w+))(?![-\\w\\u2013\\u00AD])', '\\1\\2', 'Szóköz nélkül tapadó írásjel | http://helyesiras.mta.hu/helyesiras/default/akh12#240', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?)((°C|°F|℃|℉)(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '\\1\xa0\\2', 'Nem törő szóközzel elválasztott mértékegység.', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(([-−]?\\d+(,\\d+)?[-–])?[-−]?\\d+(,\\d+)?)%-al(?![-\\w\\u2013\\u00AD])', '\\1%-kal', 'Hiányos toldalék.', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])\\b(?P<year_1>[12]\\d\\d\\d)[.] (?P<Month_1>Január|Február|Március|Április|Május|Június|Július|Augusztus|Szeptember|Október|November|December)\\b(?![-\\w\\u2013\\u00AD])', '= m.group("year_1") + ". " + m.group("Month_1").lower()', 'A hónap nevét kisbetűvel írjuk. | http://helyesiras.mta.hu/helyesiras/default/akh12#296', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<year_1>[12]\\d\\d\\d) (?P<month_1>január|február|március|április|május|június|július|augusztus|szeptember|október|november|december|jan[.]|febr[.]|márc[.]|ápr[.]|máj[.]|jún[.]|júl[.]|aug[.]|szept[.]|okt[.]|nov[.]|dec[.])(?P<notmonthposs_1>(|[^-–jaáeé][a-zöüóűőúéáí]*))(?![-\\w\\u2013\\u00AD])', '\\g<year_1>. \\g<month_1>\\g<notmonthposs_1>', 'Az évszám után itt pontot írunk. | http://helyesiras.mta.hu/helyesiras/default/akh12#296', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<year_1>[12]\\d\\d\\d) (?P<month_1>január|február|március|április|május|június|július|augusztus|szeptember|október|november|december|jan[.]|febr[.]|márc[.]|ápr[.]|máj[.]|jún[.]|júl[.]|aug[.]|szept[.]|okt[.]|nov[.]|dec[.])(?P<notmonthcomp_1>[-–](?P<month_2>január|február|március|április|május|június|július|augusztus|szeptember|október|november|december|jan[.]|febr[.]|márc[.]|ápr[.]|máj[.]|jún[.]|júl[.]|aug[.]|szept[.]|okt[.]|nov[.]|dec[.])(?P<notmonthposs_1>(|[^-–jaáeé][a-zöüóűőúéáí]*)))(?![-\\w\\u2013\\u00AD])', '\\g<year_1>. \\g<month_1>\\g<notmonthcomp_1>', 'Az évszám után itt pontot írunk. | http://helyesiras.mta.hu/helyesiras/default/akh12#296', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<year_1>[12]\\d\\d\\d) évi(?![-\\w\\u2013\\u00AD])', '\\g<year_1>. évi', 'Az évszám után itt pontot írunk. | http://helyesiras.mta.hu/helyesiras/default/akh12#296', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<year_1>[12]\\d\\d\\d)[-–](?P<year2_1>\\d\\d) évi(?![-\\w\\u2013\\u00AD])', '\\g<year_1>–\\g<year2_1>. évi', 'Az évszám után itt pontot írunk. | http://helyesiras.mta.hu/helyesiras/default/akh12#296', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])\\b(?P<year_1>[12]\\d\\d\\d)[.] (?P<nu_1>folyamán|előtti?|utáni?|közötti?|nyara|nyará\\w+|tele|telé\\w+|tavasza|tavaszá\\w+|ősze|őszé\\w+)\\b(?![-\\w\\u2013\\u00AD])', '\\g<year_1> \\g<nu_1>', 'Az évszám után itt nem írunk pontot. | http://helyesiras.mta.hu/helyesiras/default/akh12#297', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])\\b(?P<year_1>[12]\\d\\d\\d)[.] (?P<month_1>január|február|március|április|május|június|július|augusztus|szeptember|október|november|december|jan[.]|febr[.]|márc[.]|ápr[.]|máj[.]|jún[.]|júl[.]|aug[.]|szept[.]|okt[.]|nov[.]|dec[.])(?P<monthposs_1>([jaáe]|é\\w)\\w*)\\b(?![-\\w\\u2013\\u00AD])', '\\g<year_1> \\g<month_1>\\g<monthposs_1>', 'Az évszám után itt nem írunk pontot. | http://helyesiras.mta.hu/helyesiras/default/akh12#297', False, 0], ['(?iu)\\b(?P<month_1>[Jj][Aa][Nn][Uu][Áá][Rr]|[Ff][Ee][Bb][Rr][Uu][Áá][Rr]|[Mm][Áá][Rr][Cc][Ii][Uu][Ss]|[Áá][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][Áá][Jj][Uu][Ss]|[Jj][Úú][Nn][Ii][Uu][Ss]|[Jj][Úú][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][Óó][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][Áá][Rr][Cc][.]|[Áá][Pp][Rr][.]|[Mm][Áá][Jj][.]|[Jj][Úú][Nn][.]|[Jj][Úú][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P<day_1>[12]\\d|3[01]|0?[1-9])[.]-(?P<w_1>\\w*)', '\\g<month_1> \\g<day_1>-\\g<w_1>', 'A nap után itt nem írunk pontot. | http://helyesiras.mta.hu/helyesiras/default/akh12#298', False, 0], ['(?iu)\\b(?P<month_1>[Jj][Aa][Nn][Uu][Áá][Rr]|[Ff][Ee][Bb][Rr][Uu][Áá][Rr]|[Mm][Áá][Rr][Cc][Ii][Uu][Ss]|[Áá][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][Áá][Jj][Uu][Ss]|[Jj][Úú][Nn][Ii][Uu][Ss]|[Jj][Úú][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][Óó][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][Áá][Rr][Cc][.]|[Áá][Pp][Rr][.]|[Mm][Áá][Jj][.]|[Jj][Úú][Nn][.]|[Jj][Úú][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P<day_1>[12]\\d|3[01]|0?[1-9])(?P<djel_1>[ ,;:?!])', '\\g<month_1> \\g<day_1>.\\g<djel_1>', 'Ha dátum, hiányzik a pont. | http://helyesiras.mta.hu/helyesiras/default/akh12#295', False, 0], ['(?iu)\\b(?P<month_1>[Jj][Aa][Nn][Uu][Áá][Rr]|[Ff][Ee][Bb][Rr][Uu][Áá][Rr]|[Mm][Áá][Rr][Cc][Ii][Uu][Ss]|[Áá][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][Áá][Jj][Uu][Ss]|[Jj][Úú][Nn][Ii][Uu][Ss]|[Jj][Úú][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][Óó][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][Áá][Rr][Cc][.]|[Áá][Pp][Rr][.]|[Mm][Áá][Jj][.]|[Jj][Úú][Nn][.]|[Jj][Úú][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P<day_1>[12]\\d|3[01]|0?[1-9]) (?P<nu_1>[Óó][Tt][Aa]|[Ee][Ll][Őő][Tt][Tt][Ii]?|[Uu][Tt][Áá][Nn][Ii]?|[Kk][Öö][Zz][Öö][Tt][Tt][Ii]?)', '\\g<month_1> \\g<day_1>. \\g<nu_1>', 'A nap után itt pontot írunk. | http://helyesiras.mta.hu/helyesiras/default/akh12#299', False, 0], ['(?iu)\\b(?P<month_1>[Jj][Aa][Nn][Uu][Áá][Rr]|[Ff][Ee][Bb][Rr][Uu][Áá][Rr]|[Mm][Áá][Rr][Cc][Ii][Uu][Ss]|[Áá][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][Áá][Jj][Uu][Ss]|[Jj][Úú][Nn][Ii][Uu][Ss]|[Jj][Úú][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][Óó][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][Áá][Rr][Cc][.]|[Áá][Pp][Rr][.]|[Mm][Áá][Jj][.]|[Jj][Úú][Nn][.]|[Jj][Úú][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P<day_1>[12]\\d|3[01]|0?[1-9])[.] [Éé][Ss] (?P<day_2>[12]\\d|3[01]|0?[1-9]) (?P<nu_1>[Óó][Tt][Aa]|[Ee][Ll][Őő][Tt][Tt][Ii]?|[Uu][Tt][Áá][Nn][Ii]?|[Kk][Öö][Zz][Öö][Tt][Tt][Ii]?)', '\\g<month_1> \\g<day_1>. és \\g<day_2>. \\g<nu_1>', 'A nap után itt pontot írunk. | http://helyesiras.mta.hu/helyesiras/default/akh12#299', False, 0], ['(?iu)\\b(?P<month_1>[Jj][Aa][Nn][Uu][Áá][Rr]|[Ff][Ee][Bb][Rr][Uu][Áá][Rr]|[Mm][Áá][Rr][Cc][Ii][Uu][Ss]|[Áá][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][Áá][Jj][Uu][Ss]|[Jj][Úú][Nn][Ii][Uu][Ss]|[Jj][Úú][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][Óó][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][Áá][Rr][Cc][.]|[Áá][Pp][Rr][.]|[Mm][Áá][Jj][.]|[Jj][Úú][Nn][.]|[Jj][Úú][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P<day_1>[12]\\d|3[01]|0?[1-9]) [Éé][Ss] (?P<day_2>[12]\\d|3[01]|0?[1-9])[.]? (?P<nu_1>[Óó][Tt][Aa]|[Ee][Ll][Őő][Tt][Tt][Ii]?|[Uu][Tt][Áá][Nn][Ii]?|[Kk][Öö][Zz][Öö][Tt][Tt][Ii]?)', '\\g<month_1> \\g<day_1>. és \\g<day_2>. \\g<nu_1>', 'A nap után itt pontot írunk. | http://helyesiras.mta.hu/helyesiras/default/akh12#299', False, 0], ['(?iu)\\b(?P<month_1>[Jj][Aa][Nn][Uu][Áá][Rr]|[Ff][Ee][Bb][Rr][Uu][Áá][Rr]|[Mm][Áá][Rr][Cc][Ii][Uu][Ss]|[Áá][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][Áá][Jj][Uu][Ss]|[Jj][Úú][Nn][Ii][Uu][Ss]|[Jj][Úú][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][Óó][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][Áá][Rr][Cc][.]|[Áá][Pp][Rr][.]|[Mm][Áá][Jj][.]|[Jj][Úú][Nn][.]|[Jj][Úú][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P<day_1>[12]\\d|3[01]|0?[1-9])[-–](?P<day_2>[12]\\d|3[01]|0?[1-9]) (?P<nu_1>[Óó][Tt][Aa]|[Ee][Ll][Őő][Tt][Tt][Ii]?|[Uu][Tt][Áá][Nn][Ii]?|[Kk][Öö][Zz][Öö][Tt][Tt][Ii]?)', '\\g<month_1> \\g<day_1>–\\g<day_2>. \\g<nu_1>', 'A nap után itt pontot írunk. | http://helyesiras.mta.hu/helyesiras/default/akh12#299', False, 0], ['(?iu)\\b(?P<month_1>[Jj][Aa][Nn][Uu][Áá][Rr]|[Ff][Ee][Bb][Rr][Uu][Áá][Rr]|[Mm][Áá][Rr][Cc][Ii][Uu][Ss]|[Áá][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][Áá][Jj][Uu][Ss]|[Jj][Úú][Nn][Ii][Uu][Ss]|[Jj][Úú][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][Óó][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][Áá][Rr][Cc][.]|[Áá][Pp][Rr][.]|[Mm][Áá][Jj][.]|[Jj][Úú][Nn][.]|[Jj][Úú][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P<day_1>[12]\\d|3[01]|0?[1-9])-(?P<day_2>[12]\\d|3[01]|0?[1-9]). (?P<nu_1>[Óó][Tt][Aa]|[Ee][Ll][Őő][Tt][Tt][Ii]?|[Uu][Tt][Áá][Nn][Ii]?|[Kk][Öö][Zz][Öö][Tt][Tt][Ii]?)', '\\g<month_1> \\g<day_1>–\\g<day_2>. \\g<nu_1>', 'A napok közé nagykötőjelet írunk. | http://helyesiras.mta.hu/helyesiras/default/akh12#299', False, 0], ['(?u)\\b(?P<year_1>[12]\\d\\d\\d)[.](?P<monthnum_1>0?[1-9]|1[012])[.](?P<day_1>[12]\\d|3[01]|0?[1-9])(?P<optdot_1>([.]|))(?P<text_1>[^\\s][^\\s]*)', '\\g<year_1>. \\g<monthnum_1>.\xa0\\g<day_1>\\g<optdot_1>\\g<text_1>', 'Szóköz a dátumban. | http://helyesiras.mta.hu/helyesiras/default/akh12#295', False, 0], ['(?u)(?<=\\s)\\b([14579]|10|[12][124579]|31)(-a|-á\\w+)', '= m.group(1) + m.group(2).translate(str.maketrans(u"aáoó", u"eéeő"))', 'Hibás dátum?', 'stem(LOCALE,"2" + m.group(2)) == ["2"]', 0], ['(?u)(?<=\\s)\\b([2368]|[23]0|[12][368])(-j?e|-j?é\\w+)', '= m.group(1) + m.group(2).replace("j", "").replace("e", "a").replace("haz", "hoz").replace(u"é", u"á").replace(u"ő", u"ó")', 'Hibás dátum?', 'stem(LOCALE,"1" + m.group(2)) == ["1"]', 0], ['(?u)\\bstb[.], stb[.]', 'stb. stb.|stb.; stb.', 'Két stb. közé nem teszünk vesszőt.', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(db|Ft)[.](?= (?P<abc_1>[a-zöüóűőúéáí]))(?![-\\w\\u2013\\u00AD])', '\\1', 'Nem ponttal írjuk ezt a rövidítést.', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(db|Ft)[.](?=[,;:])(?![-\\w\\u2013\\u00AD])', '\\1', 'Nem ponttal írjuk ezt a rövidítést.', False, 0], ['(?iu)\\b(?P<country_1>[Aa][Ll][Bb][Áá][Nn]|[Aa][Mm][Ee][Rr][Ii][Kk][Aa][Ii]|[Aa][Nn][Gg][Oo][Ll]|[Bb][Ee][Ll][Gg][Aa]|[Bb][Oo][Ll][Gg][Áá][Rr]|[Bb][Oo][Ss][Nn][Yy][Áá][Kk]|[Bb][Rr][Ii][Tt]|[Cc][Ii][Pp][Rr][Uu][Ss][Ii]|[Cc][Ss][Ee][Hh]|[Dd][Áá][Nn]|[Éé][Ss][Zz][Tt]|[Ff][Ii][Nn][Nn]|[Ff][Rr][Aa][Nn][Cc][Ii][Aa]|[Gg][Öö][Rr][Öö][Gg]|[Hh][Oo][Ll][Ll][Aa][Nn][Dd]|[Hh][Oo][Rr][Vv][Áá][Tt]|[Íí][Rr]|[Jj][Aa][Pp][Áá][Nn]|[Kk][Íí][Nn][Aa][Ii]|[Ll][Ee][Nn][Gg][Yy][Ee][Ll]|[Ll][Ee][Tt][Tt]|[Ll][Ii][Tt][Vv][Áá][Nn]|[Mm][Aa][Cc][Ee][Dd][Óó][Nn]|[Mm][Aa][Gg][Yy][Aa][Rr]|[Mm][Áá][Ll][Tt][Aa][Ii]|[Nn][Éé][Mm][Ee][Tt]|[Nn][Oo][Rr][Vv][Éé][Gg]|[Oo][Ll][Aa][Ss][Zz]|[Oo][Rr][Oo][Ss][Zz]|[Oo][Ss][Zz][Tt][Rr][Áá][Kk]|[Pp][Oo][Rr][Tt][Uu][Gg][Áá][Ll]|[Rr][Oo][Mm][Áá][Nn]|[Ss][Pp][Aa][Nn][Yy][Oo][Ll]|[Ss][Vv][Áá][Jj][Cc][Ii]|[Ss][Vv][Éé][Dd]|[Ss][Zz][Ee][Rr][Bb]|[Ss][Zz][Ll][Oo][Vv][Áá][Kk]|[Ss][Zz][Ll][Oo][Vv][Éé][Nn]|[Tt][Öö][Rr][Öö][Kk]|[Uu][Kk][Rr][Áá][Nn])-(?P<country_2>[Aa][Ll][Bb][Áá][Nn]|[Aa][Mm][Ee][Rr][Ii][Kk][Aa][Ii]|[Aa][Nn][Gg][Oo][Ll]|[Bb][Ee][Ll][Gg][Aa]|[Bb][Oo][Ll][Gg][Áá][Rr]|[Bb][Oo][Ss][Nn][Yy][Áá][Kk]|[Bb][Rr][Ii][Tt]|[Cc][Ii][Pp][Rr][Uu][Ss][Ii]|[Cc][Ss][Ee][Hh]|[Dd][Áá][Nn]|[Éé][Ss][Zz][Tt]|[Ff][Ii][Nn][Nn]|[Ff][Rr][Aa][Nn][Cc][Ii][Aa]|[Gg][Öö][Rr][Öö][Gg]|[Hh][Oo][Ll][Ll][Aa][Nn][Dd]|[Hh][Oo][Rr][Vv][Áá][Tt]|[Íí][Rr]|[Jj][Aa][Pp][Áá][Nn]|[Kk][Íí][Nn][Aa][Ii]|[Ll][Ee][Nn][Gg][Yy][Ee][Ll]|[Ll][Ee][Tt][Tt]|[Ll][Ii][Tt][Vv][Áá][Nn]|[Mm][Aa][Cc][Ee][Dd][Óó][Nn]|[Mm][Aa][Gg][Yy][Aa][Rr]|[Mm][Áá][Ll][Tt][Aa][Ii]|[Nn][Éé][Mm][Ee][Tt]|[Nn][Oo][Rr][Vv][Éé][Gg]|[Oo][Ll][Aa][Ss][Zz]|[Oo][Rr][Oo][Ss][Zz]|[Oo][Ss][Zz][Tt][Rr][Áá][Kk]|[Pp][Oo][Rr][Tt][Uu][Gg][Áá][Ll]|[Rr][Oo][Mm][Áá][Nn]|[Ss][Pp][Aa][Nn][Yy][Oo][Ll]|[Ss][Vv][Áá][Jj][Cc][Ii]|[Ss][Vv][Éé][Dd]|[Ss][Zz][Ee][Rr][Bb]|[Ss][Zz][Ll][Oo][Vv][Áá][Kk]|[Ss][Zz][Ll][Oo][Vv][Éé][Nn]|[Tt][Öö][Rr][Öö][Kk]|[Uu][Kk][Rr][Áá][Nn])\\b', '\\g<country_1>–\\g<country_2>', 'Népnevek közé nagykötőjelet teszünk.', False, 0], ['(?u)\\b(?P<year2_1>(1\\d\\d[1-9]|1\\d[1-9]\\d|20\\d[1-9]|20[1-9]\\d))-(?P<year_1>[12]\\d\\d\\d)\\b ', '\\g<year_1>–\\g<year_2> ', 'Évszámok közé nagykötőjelet teszünk.', False, 0], ['(?u)\\b(?P<year_1>[12]\\d\\d\\d)-(?P<year2_1>(1\\d\\d[1-9]|1\\d[1-9]\\d|20\\d[1-9]|20[1-9]\\d))\\b ', '\\g<year_1>–\\g<year_2> ', 'Évszámok közé nagykötőjelet teszünk.', False, 0], ['(?u)\\b(?P<year_1>[12]\\d\\d\\d)-(\\d\\d)\\b ', '\\g<year_1>–\\2 ', 'Évszámok közé nagykötőjelet teszünk.', False, 0], ['(?u)([A-ZÖÜÓŰŐÚÉÁÍ]\\w*)-(\\d+(-\\w+)?)', '\\1–\\2', 'Típusnév és -szám közé nagykötőjelet teszünk. | http://helyesiras.mta.hu/helyesiras/default/akh12#294', False, 0], ['(?u)pp[.] (\\d+)-(\\d+)[.]', 'pp. \\1–\\2.', 'Oldalszámok közé nagykötőjelet teszünk. | http://helyesiras.mta.hu/helyesiras/default/akh12#264c', False, 0], ['(?u)(\\d+)-(\\d+)[.] (o[.]|oldal\\w*)', '\\1–\\2. \\3', 'Oldalszámok közé nagykötőjelet teszünk. | http://helyesiras.mta.hu/helyesiras/default/akh12#264c', False, 0], ['(?u) (u[.]|utca|út|tér) (\\d\\d*)-(\\d\\d*)[.]', ' \\1 \\2–\\3.', 'Nagykötőjel a házszámban. | http://hu.wikisource.org/wiki/A_magyar_helyesírás_szabályai/Egyéb_tudnivalók#298.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Nn][Ee] [Jj][Áá][Tt][Ss]([Zz][Uu][Nn][Kk]|[Zz][Aa][Tt][Oo][Kk]|[Zz][Aa][Nn][Aa][Kk])(?![-\\w\\u2013\\u00AD])', 'ne játss\\1', 'Helyesírási hiba.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[AaÁá] [Ll][Aa] [Cc][Aa][Rr][Tt][Ee](?![-\\w\\u2013\\u00AD])', 'à la carte', 'Helyesen à la carte.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Áá][Ll][Ll][Tt][Aa][Tt](?![-\\w\\u2013\\u00AD])', 'áltat', 'Áltat, hiteget értelemben egy l-lel írjuk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Öö][Nn][Áá][Ll][Ll]([Tt][Aa][Tt][ÓóÁá]\\w*)(?![-\\w\\u2013\\u00AD])', 'önál\\1', 'Helyesen egy l-lel.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Bb][Ee][Ll][Ss][Őő][Ss][Éé][Gg][Ee][Ss](?![-\\w\\u2013\\u00AD])', 'bensőséges|belsőségből készült', 'Szótévesztés vagy szójáték?', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Bb][.] ?[Úú][.] ?[Éé][.] ?[Kk][.]?(?![-\\w\\u2013\\u00AD])', '!CASE!BÚÉK', 'Helyesen egybeírva.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Dd][Ee][Hh][Oo][Gg][Yy] [Ii][Ss](?![-\\w\\u2013\\u00AD])', 'dehogyis', 'Egybeírás „egyáltalán nem” jelentésben.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Dd][Ee][Hh][Oo][Gg][Yy] [Nn][Ee][Mm](?![-\\w\\u2013\\u00AD])', 'dehogynem', 'Egybeírás „de igen” jelentésben.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Dd][Ee][Hh][Oo][Gg][Yy][Ii][Ss] [Nn][Ee][Mm](?![-\\w\\u2013\\u00AD])', 'dehogyisnem', 'Egybeírás „de igen” jelentésben.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Kk][Éé][Pp][Pp][Ee][Nn](?![-\\w\\u2013\\u00AD])', 'ekképpen', 'Helyesen két k-val.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Gg][Yy][Ee][Ll] ([Tt][Öö][Bb][Bb]\\w*|[Kk][Ee][Vv][Ee][Ss][Ee][Bb][Bb]\\w*)(?![-\\w\\u2013\\u00AD])', 'eggyel \\1', '1-gyel értelemben hosszú gy-vel írjuk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Gg][Yy][Ee][Nn][Ll][Őő][Rr][Ee](?![-\\w\\u2013\\u00AD])', 'egyelőre|egyformára|döntetlenre|egyenlő számúra|azonos méretűre', 'Helyesírási (egyelőre) vagy stílushiba (egyformára).', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Gg][Yy][Ii]([Vv][Áá][Ss][Úú]\\w*)(?![-\\w\\u2013\\u00AD])', 'egyí\\1', 'Hosszú í-vel helyes.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Gg][Yy][Tt][Őő][Ll]-[Ee][Gg][Yy][Ii][Gg](?![-\\w\\u2013\\u00AD])', 'egytől egyig', 'Kötőjel nélkül írjuk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Ll][Őő][Rr][Ee] [Hh][Áá][Tt][Rr][Aa](?![-\\w\\u2013\\u00AD])', 'előre-hátra', 'Kötőjellel írjuk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Ll][Őő][Rr][Ee] [Ll][Áá][Tt][Hh][Aa][Tt][Óó][Ll][Aa][Gg](?![-\\w\\u2013\\u00AD])', 'előreláthatólag', 'Egybeírás.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Mm][Aa][Ii][Ll]:(?![-\\w\\u2013\\u00AD])', 'ímél:\\ne-mail:', 'ímél vagy e-mail (elektronikus levél)', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Mm][Aa][Ii][Ll]-[Ll][Ee][Ll](?![-\\w\\u2013\\u00AD])', 'íméllel\\ne-maillel', 'ímél vagy e-mail (elektronikus levél)', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee]([Mm][Aa][Ii][Ll][ -]|-[Mm][Aa][Ii][Ll] |-[Mm][Aa][Ii][Ll])([Cc][Íí][Mm]\\w*)(?![-\\w\\u2013\\u00AD])', 'ímél\\2\\ne-mail-\\2', 'Helyesen ímélcím vagy e-mail-cím. | http://helyesiras.mta.hu/helyesiras/default/akh12#140', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ee][Xx][- ](\\w+)(?![-\\w\\u2013\\u00AD])', 'ex\\1', 'Egybeírás.', 'spell(LOCALE,"ex" + m.group(1))', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ff][Ii][Gg][Yy][Ee][Ll][Ee][Mm][Rr][Ee]([Mm][Éé][Ll][Tt][Óó]\\w*)(?![-\\w\\u2013\\u00AD])', 'figyelemre \\1', 'Különírás (kivéve: „igen figyelemreméltó”).', 'wordmin(s[:m.start()],1) != "igen"', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ii][Gg][Ee][Nn] [Ff][Ii][Gg][Yy][Ee][Ll][Ee][Mm][Rr][Ee] ([Mm][Éé][Ll][Tt][Óó]\\w*)(?![-\\w\\u2013\\u00AD])', 'igen figyelemre\\1', 'Egybeírás.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Áá][Ll][Ll][Aa][Tt]|[Cc][Ss][Ee][Pp][Pp]|[Cc][Ss][Ii][Ll][Ll][Aa][Gg]|[Éé][Kk]|[Ee][Ll][Ll][Ii][Pp][Ss][Zz][Ii][Ss]|[Ee][Mm][Bb][Ee][Rr]|[Ff][Éé][Ll][Gg][Öö][Mm][Bb]|[Ff][Éé][Ll][Kk][Öö][Rr]|[Gg][Áá][Zz]|[Gg][Öö][Mm][Bb]|[Gg][Úú][Ll][Aa]|[Hh][Aa][Rr][Aa][Nn][Gg]|[Hh][Áá][Rr][Oo][Mm][Ss][Zz][Öö][Gg]|[Hh][Aa][Ss][Áá][Bb]|[Hh][Aa][Tt][Ss][Zz][Öö][Gg]|[Hh][Ee][Nn][Gg][Ee][Rr]|[Kk][Aa][Gg][Yy][Ll][Óó]|[Kk][Ee][Rr][Ee][Ss][Zz][Tt]|[Kk][Oo][Cc][Kk][Aa]|[Kk][Oo][Rr][Oo][Nn][Gg]|[Kk][Öö][Rr]|[Kk][Öö][Rr][Tt][Ee]|[Kk][Úú][Pp]|[Nn][Éé][Gg][Yy][Ss][Zz][Öö][Gg]|[Nn][Éé][Gg][Yy][Zz][Ee][Tt]|[Nn][Yy][Ee][Rr][Ee][Gg]|[Pp][Aa][Tt][Kk][Óó]|[Pp][Ii][Rr][Aa][Mm][Ii][Ss]|[Pp][Ii][Ss][Kk][Óó][Tt][Aa]|[Ss][Zz][Ii][Vv][Aa][Rr]|[Tt][Oo][Jj][Áá][Ss]|[Tt][Öö][Ll][Cc][Ss][Éé][Rr]|[Tt][Rr][Aa][Pp][Éé][Zz]|[Vv][Ee][Ss][Ee])-?([Ff][Oo][Rr][Mm][Áá][Jj][Úú]|[Aa][Ll][Aa][Kk][Úú])(?![-\\w\\u2013\\u00AD])', '\\1 \\2', 'Különírás.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([A-Z])-([Ff][Oo][Rr][Mm][Áá][Jj][Úú]\\w*|[Aa][Ll][Aa][Kk][Úú]\\w*|[Aa][Ll][Aa][Kk][Zz][Aa][Tt]\\w*)(?![-\\w\\u2013\\u00AD])', '\\1 \\2', 'Különírás.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([A-Z])-([Aa][Ll][Aa][Kk]\\w*)(?![-\\w\\u2013\\u00AD])', '\\1 \\2', 'Különírás.', 'stem(LOCALE,m.group(2)) == ["alak"]', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Xx]|[Yy]) ([Kk][Rr][Oo][Mm][Oo][Ss][Zz][Óó][Mm]\\w+)(?![-\\w\\u2013\\u00AD])', '= m.group(1).upper() + "-" + m.group(2)', 'Kötőjellel írjuk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Xx]|[Yy]|[Zz])-([Kk][Oo][Oo][Rr][Dd][Ii][Nn][Áá][Tt]\\w+|[Tt][Ee][Nn][Gg][Ee][Ll]\\w+|[Vv][Áá][Ll][Tt][Oo][Zz][Óó]\\w*)(?![-\\w\\u2013\\u00AD])', '= "!CASE!" + m.group(1).lower() + " " + m.group(2)', 'Különírás kurzivált változónévvel.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(X|Y|Z) ([Kk][Oo][Oo][Rr][Dd][Ii][Nn][Áá][Tt]\\w+|[Tt][Ee][Nn][Gg][Ee][Ll]\\w+|[Vv][Áá][Ll][Tt][Oo][Zz][Óó]\\w*)(?![-\\w\\u2013\\u00AD])', '= "!CASE!" + m.group(1).lower() + " " + m.group(2)', 'Kisbetűvel írjuk, kurzivált változónévvel.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Xx] ([Ll][Áá][Bb][Úú]\\w*|[Ss][Zz][Áá][Rr][Nn][Yy][Úú]\\w*)(?![-\\w\\u2013\\u00AD])', '!CASE!x-\\1', 'Kötőjellel írjuk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ff][Őő]([Ii][Rr][Áá][Nn][Yy]\\w*|[Kk][Öö][Zz][Ll][Ee][Kk][Ee][Dd][Éé][Ss]\\w*|[Ss][Zz][Aa][Bb][Áá][Ll][Yy]\\w*|[Ss][Zz][Ee][Rr][Vv][Ee][Zz][Őő]\\w*)(?![-\\w\\u2013\\u00AD])', 'fő \\1', 'A „fő mű”-höz hasonlóan különírjuk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Hh][Áá][Tt][Bb][Aa] ([Tt][Áá][Mm][Aa][Dd][Áá][Ss]\\w*)(?![-\\w\\u2013\\u00AD])', 'hátba\\1', 'Egybeírás.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ii][Dd][Őő][Rr][Őő][Ll]-[Ii][Dd][Őő][Rr][Ee](?![-\\w\\u2013\\u00AD])', 'időről időre', 'Különírás.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Jj][Ii][Nn][Gg] [Éé][Ss] [Jj][Aa][Nn][Gg](?![-\\w\\u2013\\u00AD])', 'jin és jang', 'Helyesen jin és jang.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Őő][Rr](([Öö][Zz]|[Úú][Tt]|[Uu][Tt])\\w*)(?![-\\w\\u2013\\u00AD])', 'kör\\1', 'Rövid ö-vel a kör összetételeiben.', 'morph(LOCALE,m.group(0), r"st:kőr\\b")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ll][Éé][Gg][Yy][Ss][Zz][Íí][Vv][Ee][Ss](?![-\\w\\u2013\\u00AD])', 'légy szíves|legyél szíves', 'Legyél szíves értelemben különírjuk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ll][Ee][Gg][Aa][Ll][Áá][Bb][Bb] [Ii][Ss](?![-\\w\\u2013\\u00AD])', 'legalábbis', 'Egybeírás.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])L[Ii][Cc][Hh][Tt][Ee][Nn]([Ss][Tt][Ee][Ii][Nn]\\w*)(?![-\\w\\u2013\\u00AD])', 'Liechten\\1', 'Helyesen Liechtenstein.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Mm][Ee][Ll][Ll][Éé][Kk][Hh][Ee][Ll][Yy]([Ss][Éé][Gg]\\w*)(?![-\\w\\u2013\\u00AD])', 'mellékhelyi\\1', 'Helyiség, mint szoba.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Mm][Úú]([Ll][Aa][Nn][Dd][Óó]\\w*)(?![-\\w\\u2013\\u00AD])', 'mu\\1', 'Helyesen rövid u-val.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Nn][Ee][Mm][Bb][Ii][Zz][Tt][Oo][Ss](?![-\\w\\u2013\\u00AD])', 'nem biztos', 'Különírás.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Oo][Rr][Ii][Gg][Ii][Nn][Áá][Ll][Tt](?![-\\w\\u2013\\u00AD])', 'originál|eredeti|bontatlan', 'Ha nem tárgyesetben van, „t” nélkül írjuk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Ss][Zz][Éé][Nn]|[Kk][Éé][Nn]|[Mm][Aa][Nn][Gg][Áá][Nn]|[Nn][Ii][Tt][Rr][Oo][Gg][Éé][Nn]|[Óó][Nn]|[Tt][Ii][Tt][Áá][Nn]|[Tt][Óó][Rr][Ii][Uu][Mm])([Dd][Ii][Oo][Xx][Ii][Dd]\\w*)(?![-\\w\\u2013\\u00AD])', '\\1-\\2', 'Kötőjeles alak.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Ss][Zz][Éé][Nn]|[Kk][Éé][Nn]|[Nn][Ii][Tt][Rr][Oo][Gg][Éé][Nn])([Mm][Oo][Nn][Oo][Xx][Ii][Dd]\\w*)(?![-\\w\\u2013\\u00AD])', '\\1-\\2', 'Kötőjeles alak.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Oo][Vv][Áá][Bb][Bb][Ii][Tt][Tt][Uu][Nn][Kk](?![-\\w\\u2013\\u00AD])', 'továbbítunk|tovább ittunk', 'Helyesírási hiba.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Oo][Rr][Ll][Ee][Aa][Nn][Ss]-[Ii] ([Ss][Zz][Űű][Zz]\\w*)(?![-\\w\\u2013\\u00AD])', '!CASE!orléans-i \\1|Orléans-i \\1', 'Helyesen orléans-i szűz.', 'wordmin(s[:m.start()],1) != "New"', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Vv][Ii][Ss] (\\w+)(?![-\\w\\u2013\\u00AD])', '= "vis " + m.group(1).replace("major", "maior")', 'Helyesen vis maior.', 'm.group(1)[:5] != "maior"', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Áá][Rr][Úú]\\w*)(?![-\\w\\u2013\\u00AD])', '= m.group(0).replace("árú", "áru")', 'Helyesen áru. | http://helyesiras.mta.hu/helyesiras/default/akh12#23', 'wordmin(s[:m.start()],1).lower() == "az" and stem(LOCALE,m.group(0)) == [u"ár"]', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([^AaEeUuIiOoÖöÜüÓóŐőÚúÉéÁáŰűÍí]\\w*[AaEeUuIiOoÖöÜüÓóŐőÚúÉéÁáŰűÍí])([Dd][Vv]|[Dd][Zz][Ss]|[Jj][Ll]|[Ll][DdPpVv]|[Ll][Gg][Yy]|[Nn][GgDdKkTtZz]|[Nn][Cc][Ss]|[Nn][Yy][Vv]|[Pp][Ss][Zz]|[Rr][CcDdKkSsTtVv]|[Rr][Cc][Ss]|[Ss][Zz][Tt]|[Xx])[AaEe][Ll]\\b(?![-\\w\\u2013\\u00AD])', '= re.sub(r"@(.)", "\\g<1>\\g<1>", re.sub(r"([cdgklptv]..|[cgsz][syz]..|dzs..|(?<=[nr])[sz]..)$", r"@\\g<1>", m.group(0))).replace("xel", "xszel")', 'Névszóként -val/-vel toldalékkal. | http://helyesiras.mta.hu/helyesiras/default/akh12#42', 'wordmin(s[:m.start()],1).lower() == "a" and morph(LOCALE,m.group(0), r"po:vrb\\b", False) and morph(LOCALE,m.group(0)[:-2], r"po:noun\\b")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([xy]-kromoszóm\\w+)(?![-\\w\\u2013\\u00AD])', '= m.group(1).capitalize()', 'Nagybetűvel írjuk.', False, 0], ['(?u)\\bun[.]', 'ún.', 'Úgy nevezett rövidítése ún. | http://helyesiras.mta.hu/helyesiras/default/akh12#284', 'word(s[m.end():],1) and not re.match(u"[A-ZÖÜÓŰŐÚÉÁÍ]", word(s[m.end():],1))', 0], ['(?iu)\\b[Vv][Íí][Zz]([Hh][Aa][Nn][Gg]\\w*)\\b', 'vissz\\1', 'Szótévesztés?', False, 0], ['(?u)^[aA] (?P<aword_1>[aáeéiíoóöőuúüűAÁEÉIÍOÓÖŐUÚÜŰ]\\w*)', 'az \\g<aword_1>', 'Hibás névelő?', 'not re.match(r"(?i)i(ii?|[vx])$|Unicode$|Unix\\w*$", m.group("aword_1")) and spell(LOCALE,m.group("aword_1"))', 0], ['(?u)(?<!(\\d[.]|az) )\\b(?P<a_1>[aA]) (?P<aword_1>[aáeéiíoóöőuúüűAÁEÉIÍOÓÖŐUÚÜŰ]\\w*)', '\\g<a_1>z \\g<aword_1>|\\g<aword_2>', 'Hibás vagy felesleges névelő?', 'wordmin(s[:m.start()],1) and not re.match(r"(?i)i(ii?|[vx])$|Unicode$|Unix\\w*$", m.group("aword_1")) and spell(LOCALE,m.group("aword_1"))', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Aa](?! 1,5\\b)(?![-\\w\\u2013\\u00AD])', 'az', 'Hibás névelő.', 'word(s[m.end():],1) and re.match(r"(1|5\\d*|[15]\\d\\d\\d)[.]?$", word(s[m.end():],1))', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Aa][Zz](?![-\\w\\u2013\\u00AD])', 'a', 'Hibás névelő?', 'not option(LOCALE,"grammar") and word(s[m.end():],2) and re.match(r"(alfejezet|alszakasz|ábr|bekezdés|diagram|fejezet|kép|lap|oldal|paragrafus|szakasz|táblázat)\\w*", word(s[m.end():],2)) and re.match(r"([02-46-9]|[1-46-9]\\d|[1-46-9]\\d\\d|[2346-9]\\d\\d\\d)[.]", word(s[m.end():],1))', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Aa][Zz](?![-\\w\\u2013\\u00AD])', 'a', 'Hibás névelő?', 'option(LOCALE,"grammar") and word(s[m.end():],1) and re.match(r"([02-46-9]|[1-46-9]\\d|[1-46-9]\\d\\d|[2346-9]\\d\\d\\d)[.]", word(s[m.end():],1))', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Aa]([ \xa0])(?=\u200b[[\\(]?(1\\b|5|1(\\d{3}){1,4}\\b))(?![-\\w\\u2013\\u00AD])', 'az\\1', 'Hibás névelő?', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Aa][Zz]([ \xa0])(?=\u200b[[\\(]?([2346-9]|1(\\d{1,2}|\\d{4,5}|\\d{7,8}))\\b)(?![-\\w\\u2013\\u00AD])', 'a\\1', 'Hibás névelő?', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Aa]([ \xa0])(?=\u200b[AaEeFfIiLlMmNnOoRrSsUuXxYyAEFILMNORSUXY]\\))(?![-\\w\\u2013\\u00AD])', 'az\\1', 'Hibás névelő?', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Aa][Zz]([ \xa0])(?=\u200b[BbCcDdGgHhJjKkPpQqTtVvWwZzBCDGHJKPQTVWZ]\\))(?![-\\w\\u2013\\u00AD])', 'a\\1', 'Hibás névelő?', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<num_1>\\d+|\\d+,\\d+) [Gg][Rr][.]?-[Mm][Aa][Ll](?![-\\w\\u2013\\u00AD])', '\\g<num_1> g-mal', 'A grammal rövidítése g-mal | http://helyesiras.mta.hu/helyesiras/default/akh12#288', False, 0], ['(?u) A vitamin(?P<w_1>\\w*)', ' A-vitamin\\g<w_1>', 'Kötőjeles név.', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([B-Z]) vitamin(?P<w_1>\\w*)(?![-\\w\\u2013\\u00AD])', '\\1-vitamin\\g<w_1>', 'Kötőjeles név.', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([A-Z])-(vitamin)(\\w+)(?![-\\w\\u2013\\u00AD])', '\\1-vitamin-\\2', 'Két kötőjellel írt alak.', 'morph(LOCALE,m.group(2)+m.group(3), "pa:")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([A-Z])-(vitamin) *((túl)?adagolás|bevitel|felszívódás|forrás|hiány|készítmény|szedés|szükséglet|tartalom)(?![-\\w\\u2013\\u00AD])', '\\1-\\2-\\3', 'Két kötőjellel írt alak. | http://helyesiras.mta.hu/helyesiras/default/akh12#140', False, 0], ['(?iu)\\b[Nn][Yy][Íí][Ll][Tt] [Ss][Zz][Íí][Vv][Űű](?P<w_1>\\w*)', 'nyíltszívű\\g<w_1>', 'Egybeírás.', False, 0], ['(?iu)\\b[Jj][Óó] [Ss][Zz][Áá][Nn][Dd][Éé][Kk][Úú](?P<w_1>\\w*)', 'jószándékú\\g<w_1>', 'Egybeírás.', False, 0], ['(?iu)[Kk][Öö][Zz][Öö][Ss] [Ll][Óó][Nn][Aa][Kk] [Tt][Úú][Rr][Óó][Ss]', 'közös lónak túros', 'Helyes kifejezés.', False, 0], ['(?iu)\\b[Ll][Oo][Bb][Oo][Tt] [Vv][Ee][Tt](?P<w_1>\\w*)\\b', 'lobbot vet\\g<w_1>', 'Helyes kifejezés.', False, 0], ['(?iu)\\b[Nn][Ee][Jj][Ll][Oo][Nn] [Hh][Aa][Rr][Ii][Ss][Nn][Yy][Aa]\\b', 'nejlonharisnya', 'Egybeírás.', False, 0], ['(?iu)\\b[Oo][Dd][Aa]-[Vv][Ii][Ss][Ss][Zz][Aa](?P<hw_1>[a-zA-ZA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíÖÜÓŰŐÚÉÁÍ][a-zA-ZA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíÖÜÓŰŐÚÉÁÍ]*)', 'oda-vissza \\g<hw_1>', 'Különírás.', False, 0], ['(?iu)\\b[Pp][Rr][Oo] [Éé][Ss] [Kk][Oo][Nn][Tt][Rr][Aa]\\b', 'pró és kontra', 'Helyes latin kifejezés.', False, 0], ['(?iu)\\b[Rr][Áá][Kk][Öö][Vv][Ee][Tt][Kk][Ee][Zz](?P<hw_1>[a-zA-ZA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíÖÜÓŰŐÚÉÁÍ][a-zA-ZA-ZÖöÜüÓóŰűŐőÚúÉéÁáÍíÖÜÓŰŐÚÉÁÍ]*)', 'rá következ\\g<hw_1>', 'Különírás.', False, 0], ['(?iu)\\b[Tt][Áá][Jj] [Jj][Ee][Ll][Ll][Ee][Gg][Űű](?P<w_1>\\w*)', 'tájjellegű\\g<w_1>', 'Egybeírás.', False, 0], ['(?iu)([SsTtLlUuVv])-[Aa][Ll][Aa][Kk][Úú](?P<w_1>\\w*)', '\\1 alakú\\g<w_1>', 'Különírás.', False, 0], ['(?u)(\\d\\d*)-szobás(?P<w_1>\\w*)', '\\1 szobás\\g<w_1>', 'Különírás.', False, 0], ['(?u)(\\d\\d*)-részes(?P<w_1>\\w*)', '\\1 részes\\g<w_1>', 'Különírás.', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<event_1>(Advent|Húsvét|Karácsony|Mindenszentek|Pünkösd|(Anyák|Apák|Halottak|Nők) [Nn]apj)(?P<abc_1>[a-zöüóűőúéáí])+)(?![-\\w\\u2013\\u00AD])', '= m.group("event_1").lower()', 'Kisbetűs kifejezés, ha nem cím. | http://helyesiras.mta.hu/helyesiras/default/akh12#144', 'wordmin(s[:m.start()],1) and word(s[m.end():],1) == word(s[m.end():],1).lower()', 0], ['(?u)foci ([Ev])[bB](?P<kw_1>([-][a-zA-ZöüóűőúéáíÖÜÓŰŐÚÉÁÍ][a-zA-ZöüóűőúéáíÖÜÓŰŐÚÉÁÍ]*)?)', 'foci-\\1b\\g<kw_1>', 'Kötőjeles kifejezés.', False, 0], ['(?u)^Kétség kívül', 'Kétségkívül', 'Egybeírás.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Aa][Ll][Ii][Gg] [Aa][Ll][Ii][Gg](?![-\\w\\u2013\\u00AD])', 'alig-alig', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Ii] [Kk][Ii](?![-\\w\\u2013\\u00AD])', 'ki-ki', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ii][Ss] [Ii][Ss](?![-\\w\\u2013\\u00AD])', 'is-is', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Ii][Nn][Ee][Kk] [Kk][Ii][Nn][Ee][Kk](?![-\\w\\u2013\\u00AD])', 'kinek-kinek', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Öö][Rr][Bb][Ee] [Kk][Öö][Rr][Bb][Ee](?![-\\w\\u2013\\u00AD])', 'körbe-körbe', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Öö][Zz][Bb][Ee] [Kk][Öö][Zz][Bb][Ee](?![-\\w\\u2013\\u00AD])', 'közbe-közbe', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Üü][Ll][Öö][Nn] [Kk][Üü][Ll][Öö][Nn](?![-\\w\\u2013\\u00AD])', 'külön-külön', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Mm][Áá][Rr] [Mm][Áá][Rr](?![-\\w\\u2013\\u00AD])', 'már-már', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Mm][Áá][Ss] [Mm][Áá][Ss](?![-\\w\\u2013\\u00AD])', 'más-más', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Mm][Ee][Ss][Ss][Zz][Ee] [Mm][Ee][Ss][Ss][Zz][Ee](?![-\\w\\u2013\\u00AD])', 'messze-messze', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Nn][Aa][Gg][Yy][Oo][Nn] [Nn][Aa][Gg][Yy][Oo][Nn](?![-\\w\\u2013\\u00AD])', 'nagyon-nagyon', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Nn][Éé][Hh][Aa] [Nn][Éé][Hh][Aa](?![-\\w\\u2013\\u00AD])', 'néha-néha', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Oo][Ll][Yy][Kk][Oo][Rr] [Oo][Ll][Yy][Kk][Oo][Rr](?![-\\w\\u2013\\u00AD])', 'olykor-olykor', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Úú][Ll] [Tt][Úú][Ll](?![-\\w\\u2013\\u00AD])', 'túl-túl', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ss][Oo][Kk] [Ss][Oo][Kk](?![-\\w\\u2013\\u00AD])', 'sok-sok', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Úú][Gg][Yy] [Úú][Gg][Yy](?![-\\w\\u2013\\u00AD])', 'úgy-úgy', 'Kötőjeles szókettőzés. | http://helyesiras.mta.hu/helyesiras/default/akh12#97', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Cc][Ss][Ii][Pp] [Cc][Ss][Uu][Pp](?![-\\w\\u2013\\u00AD])', 'csip-csup', 'Kötőjeles ikerszó. | http://helyesiras.mta.hu/helyesiras/default/akh12#104', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Éé][Hh][Ee][Nn] [Ss][Zz][Oo][Mm][Jj][Aa][Nn](?![-\\w\\u2013\\u00AD])', 'éhen-szomjan', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ii][Nn][Gg][Óó] [Bb][Ii][Nn][Gg][Óó](?![-\\w\\u2013\\u00AD])', 'ingó-bingó', 'Kötőjeles ikerszó. | http://helyesiras.mta.hu/helyesiras/default/akh12#104', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ss][Ee][Bb][Bb][Ee][Ll] [Ll][Oo][Bb][Bb][Aa][Ll](?![-\\w\\u2013\\u00AD])', 'sebbel-lobbal', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ss][Zz][Ee][Gg][Rr][Őő][Ll] [Vv][Éé][Gg][Rr][Őő][Ll](?![-\\w\\u2013\\u00AD])', 'szegről-végről', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ss][Zz][Éé][Ll][Tt][Éé][Bb][Ee][Nn] [Hh][Oo][Ss][Ss][Zz][Áá][Bb][Aa][Nn](?![-\\w\\u2013\\u00AD])', 'széltében-hosszában', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ss][Zz][Őő][Rr][Öö][Ss][Tt][Üü][Ll] [Bb][Őő][Rr][Öö][Ss][Tt][Üü][Ll](?![-\\w\\u2013\\u00AD])', 'szőröstül-bőröstül', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ss][Zz][Őő][Rr][Éé][Nn] [Ss][Zz][Áá][Ll][Áá][Nn](?![-\\w\\u2013\\u00AD])', 'szőrén-szálán', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Éé][Ll][Ee][Nn] [Nn][Yy][Áá][Rr][Oo][Nn](?![-\\w\\u2013\\u00AD])', 'télen-nyáron', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Ee][Ss][Tt][Ee][Ss][Tt][Őő][Ll] [Ll][Ee][Ll][Kk][Ee][Ss][Tt][Őő][Ll](?![-\\w\\u2013\\u00AD])', 'testestől-lelkestől', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Ee][Ss][Tt][Ee][Ss][Tt][Üü][Ll] [Ll][Ee][Ll][Kk][Ee][Ss][Tt][Üü][Ll](?![-\\w\\u2013\\u00AD])', 'testestül-lelkestül', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Öö][Bb][Bb][Éé] [Kk][Ee][Vv][Éé][Ss][Bb][Éé](?![-\\w\\u2013\\u00AD])', 'többé-kevésbé', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Öö][Rr][Ii][Kk] [Ss][Zz][Aa][Kk][Aa][Dd](?![-\\w\\u2013\\u00AD])', 'törik-szakad', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Űű][Zz][Öö][Nn] [Vv][Íí][Zz][Ee][Nn](?![-\\w\\u2013\\u00AD])', 'tűzön-vízen', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Űű][Zz][Zz][Ee][Ll] [Vv][Aa][Ss][Ss][Aa][Ll](?![-\\w\\u2013\\u00AD])', 'tűzzel-vassal', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Vv][Éé][Gg][Ee][Ss] [Vv][Éé][Gg][Ii][Gg](?![-\\w\\u2013\\u00AD])', 'véges-végig', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Üü][Ss][Kk][Éé][Nn] [Bb][Oo][Kk][Rr][Oo][Nn](?![-\\w\\u2013\\u00AD])', 'tüskén-bokron', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Vv][Éé][Gg][Rr][Ee] [Vv][Aa][Ll][Aa][Hh][Áá][Rr][Aa](?![-\\w\\u2013\\u00AD])', 'végre-valahára', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ii][Mm][Íí][Gg][Yy] [Aa][Mm][Úú][Gg][Yy](?![-\\w\\u2013\\u00AD])', 'imígy-amúgy', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ii][Nn][Nn][Ee][Nn] [Oo][Nn][Nn][Aa][Nn](?![-\\w\\u2013\\u00AD])', 'innen-onnan', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ii][Tt][Tt] [Oo][Tt][Tt](?![-\\w\\u2013\\u00AD])', 'itt-ott', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Íí][Zz][Ii][Gg] [Vv][Éé][Rr][Ii][Gg](?![-\\w\\u2013\\u00AD])', 'ízig-vérig', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Íí][Zz][Zz][Éé] [Pp][Oo][Rr][Rr][Áá](?![-\\w\\u2013\\u00AD])', 'ízzé-porrá', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Jj][Aa][Jj][Jj][Aa][Ll] [Bb][Aa][Jj][Jj][Aa][Ll](?![-\\w\\u2013\\u00AD])', 'jajjal-bajjal', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Jj][Óó][Bb][Aa][Nn] [Rr][Oo][Ss][Ss][Zz][Bb][Aa][Nn](?![-\\w\\u2013\\u00AD])', 'jóban-rosszban', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Jj][Oo][Bb][Bb][Rr][Aa] [Bb][Aa][Ll][Rr][Aa](?![-\\w\\u2013\\u00AD])', 'jobbra-balra', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Jj][Óó][Ll] [Rr][Oo][Ss][Ss][Zz][Uu][Ll](?![-\\w\\u2013\\u00AD])', 'jól-rosszul', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Éé][Kk][Rr][Ee] [Zz][Öö][Ll][Dd][Rr][Ee](?![-\\w\\u2013\\u00AD])', 'kékre-zöldre', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Éé][Nn][Yy][Tt][Ee][Ll][Ee][Nn] [Kk][Ee][Ll][Ll][Ee][Tt][Ll][Ee][Nn](?![-\\w\\u2013\\u00AD])', 'kénytelen-kelletlen', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Éé][Zz][Ee][Nn] [Kk][Öö][Zz][Öö][Nn](?![-\\w\\u2013\\u00AD])', 'kézen-közön', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Öö][Rr][Öö][Ss] [Kk][Öö][Rr][Üü][Ll](?![-\\w\\u2013\\u00AD])', 'körös-körül', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Éé][Zz][Zz][Ee][Ll] [Ll][Áá][Bb][Bb][Aa][Ll](?![-\\w\\u2013\\u00AD])', 'kézzel-lábbal', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Uu][Rr][Tt][Áá][Nn] [Ff][Uu][Rr][Cc][Ss][Áá][Nn](?![-\\w\\u2013\\u00AD])', 'kurtán-furcsán', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ll][Éé][Pp][Tt][Ee][Nn] [Nn][Yy][Oo][Mm][Oo][Nn](?![-\\w\\u2013\\u00AD])', 'lépten-nyomon', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Mm][Ee][Nn][Ee][Tt] [Jj][Öö][Vv][Ee][Tt](?![-\\w\\u2013\\u00AD])', 'menet-jövet', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Nn][Yy][Aa][Kk][Rr][Aa] [Ff][Őő][Rr][Ee](?![-\\w\\u2013\\u00AD])', 'nyakra-főre', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Öö][Rr][Öö][Kk][Kk][Öö][Nn]-[Öö][Rr][Öö][Kk][Kk][Éé](?![-\\w\\u2013\\u00AD])', 'örökkön örökké', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ss][Üü][Ll][Vv][Ee] [Ff][Őő][Vv][Ee](?![-\\w\\u2013\\u00AD])', 'sülve-főve', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Úú][Tt][Oo][Nn] [Úú][Tt][Ff][Éé][Ll][Ee][Nn](?![-\\w\\u2013\\u00AD])', 'úton-útfélen', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Üü][Gg][Gg][Yy][Ee][Ll] [Bb][Aa][Jj][Jj][Aa][Ll](?![-\\w\\u2013\\u00AD])', 'üggyel-bajjal', 'Mellérendelő szókapcsolat. | http://helyesiras.mta.hu/helyesiras/default/akh12#101', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Áá][Gg]\\w*) ([Bb][Oo][Gg]\\w*)(?![-\\w\\u2013\\u00AD])', '\\1-\\2', 'Kötőjeles ikerszó. | http://helyesiras.mta.hu/helyesiras/default/akh12#104', 'stem(LOCALE,m.group(1)) == [u"ág"] and stem(LOCALE,m.group(2)) == ["bog"]', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(ab|ars|casus|categoricus|coming|cash|circulus|corpus|delirium|doctor|et|fait|fixa|horribile|hot|in|magna|mea|memento|mountain|nota|persona|plein|pro|salto|tabula|vice|vis) (\\w+)(?![-\\w\\u2013\\u00AD])', '= suggest_foreign(m.group(1))', 'Idegen eredetű kifejezés?', 'not re.match(u"^(ovo|poetica|belli|imperativus|out|flow|vitiosus|delicti|facto|jure|tremens|honoris|cetera|accompli|idea|ideá|dictu|dog|flagranti|medias|memoriam|vitro|vivo|cum|culpa|mori|bike|bene|non|air|bono|mortal|quo|quó|rasa|rasá|versa|maior)", m.group(2))', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Északi|Déli)(?:-S| [Ss])ark(?P<w_1>\\w*)(?![-\\w\\u2013\\u00AD])', '\\1-sark\\g<w_1>', 'Földrajzi név.', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<Dir_1>Észak|Dél|Kelet|Nyugat|Északkelet|Északnyugat|Délkelet|Délnyugat)-(?P<cap_1>(?P<ABC_1>[A-ZÖÜÓŰŐÚÉÁÍ])(?P<abc_1>[a-zöüóűőúéáí])+)(?![-\\w\\u2013\\u00AD])', '= m.group("Dir_1") + "-" + m.group("cap_1").lower()', 'Kisbetűvel írt földrajzi név. | http://helyesiras.mta.hu/helyesiras/default/akh12#178', 'morph(LOCALE,m.group("cap_1"), r"po:noun_prs.*is:i_PLACE", False)', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<dir_1>észak|dél|kelet|nyugat|északkelet|északnyugat|délkelet|délnyugat)-(?P<cap_1>(?P<ABC_1>[A-ZÖÜÓŰŐÚÉÁÍ])(?P<abc_1>[a-zöüóűőúéáí])+)(?![-\\w\\u2013\\u00AD])', '= m.group("dir_1").capitalize() + "-" + m.group("cap_1")', 'Nagybetűvel írt földrajzi név. | http://helyesiras.mta.hu/helyesiras/default/akh12#178', 'morph(LOCALE,m.group("cap_1"), r"po:noun_prs", False) and not morph(LOCALE,m.group("cap_1"),"is:i_PLACE", False)', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<Dir_1>Észak|Dél|Kelet|Nyugat|Északkelet|Északnyugat|Délkelet|Délnyugat)-(?P<sc_1>(?P<abc_1>[a-zöüóűőúéáí])+)(?![-\\w\\u2013\\u00AD])', '= m.group("Dir_1").lower() + "-" + m.group("sc_1")', 'Kisbetűvel írt földrajzi név. | http://helyesiras.mta.hu/helyesiras/default/akh12#178', 'wordmin(s[:m.start()],1) and word(s[m.end():],1) and not word(s[m.end():],1) == word(s[m.end():],1).capitalize() and morph(LOCALE,m.group("sc_1"), r"po:noun_prs.*is:i_PLACE", False)', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<Dir_1>Észak|Dél|Kelet|Nyugat|Északkelet|Északnyugat|Délkelet|Délnyugat) (?P<w_1>(?P<Abc_1>[a-zöüóűőúéáíA-ZÖÜÓŰŐÚÉÁÍ])+)(?![-\\w\\u2013\\u00AD])', '\\g<Dir_1>-\\g<w_1>', 'Kötőjellel írt földrajzi név. | http://helyesiras.mta.hu/helyesiras/default/akh12#178', 'morph(LOCALE,m.group("w_1"), r"po:noun_prs")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<cap_1>(?P<ABC_1>[A-ZÖÜÓŰŐÚÉÁÍ])(?P<abc_1>[a-zöüóűőúéáí])+)-(?P<prop_1>Tenger|Óceán|Sziget|Félsziget|Középhegység)(?![-\\w\\u2013\\u00AD])', '= m.group("cap_1") + "-" + m.group("prop_1").lower()', 'Kisbetűsen írt köznévi tag. | http://helyesiras.mta.hu/helyesiras/default/akh12#175', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Árpád|Erzsébet|Hajógyári|Margit|Megyeri|Petőfi|Rákóczi|Szabadság)-(híd\\w*)(?![-\\w\\u2013\\u00AD])', '\\1 \\2', 'Különírás. | http://helyesiras.mta.hu/helyesiras/default/akh12#181', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Szabadság)(híd\\w*)(?![-\\w\\u2013\\u00AD])', '\\1 \\2', 'Különírás. | http://helyesiras.mta.hu/helyesiras/default/akh12#181', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Szabadság ?)(szobo?r\\w*)(?![-\\w\\u2013\\u00AD])', '\\1-\\2', 'Kötőjeles összetétel. | http://helyesiras.mta.hu/helyesiras/default/akh12#166', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Fertő)-(([tT]ó|[tT]av)\\w*)(?![-\\w\\u2013\\u00AD])', '= m.group(1) + " " + m.group(2).lower()', 'Kötőjel nélkül írt földrajzi név. | http://helyesiras.mta.hu/helyesiras/default/akh12#182', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Góbi|Kalahári|Szahara)-([sS]ivatag\\w*)(?![-\\w\\u2013\\u00AD])', '= m.group(1) + " " + m.group(2).lower()', 'Kötőjel nélkül írt földrajzi név. | http://helyesiras.mta.hu/helyesiras/default/akh12#182', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Börzsöny|Bükk|Mátra|Mecsek|Pilis|Zemplén|Vértes)-([Hh]egység\\w*)(?![-\\w\\u2013\\u00AD])', '= m.group(1) + " " + m.group(2).lower()', 'Kötőjel nélkül írt földrajzi név. | http://helyesiras.mta.hu/helyesiras/default/akh12#182', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Duna)-(folyam\\w*)(?![-\\w\\u2013\\u00AD])', '= m.group(1) + " " + m.group(2).lower()', 'Kötőjel nélkül írt földrajzi név. | http://helyesiras.mta.hu/helyesiras/default/akh12#182', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Bodrog|Duna|Dráva|Ipoly|Körös|Maros|Rába|Sajó|Tisza|Zala)-(([Ff]olyó|[Ff]olyam)\\w*)(?![-\\w\\u2013\\u00AD])', '= m.group(1) + " " + m.group(2).lower()', 'Kötőjel nélkül írt földrajzi név. | http://helyesiras.mta.hu/helyesiras/default/akh12#182', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])Budapest (Liszt Ferenc )([Nn]emzetközi [Rr]epülőt[eé])(r\\w*)(?![-\\w\\u2013\\u00AD])', '= m.group(1) + m.group(2).lower() + m.group(3) + "|ferihegyi " + m.group(1) + m.group(2).lower() + m.group(3) + "|" + m.group(3).replace("r", "Ferihegy", 1).replace("gyrel", "ggyel").replace(u"gyré", u"ggyé") + "|Budapest, " + m.group(1) + m.group(2).lower() + m.group(3)', 'A köznévi tag kisbetűs, a címet vesszővel tagoljuk. (AkH. 190., 248.; FNB 74.) | http://helyesiras.mta.hu/helyesiras/default/akh12#248', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([Oo])rlea(ns-?\\w*)(?![-\\w\\u2013\\u00AD])', '\\1rléa\\2', 'Orléans vagy New Orleans.', 'wordmin(s[:m.start()],1) != "New"', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])New [Oo]rléa(ns-?\\w*)(?![-\\w\\u2013\\u00AD])', 'New Orlea\\1', 'New Orleans', False, 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(olya\\w+) (aki\\w*|ami\\w*)(?![-\\w\\u2013\\u00AD])', '\\1, \\2', 'Hiányzó vessző a tagmondatok határán?', 'morph(LOCALE,m.group(2), r"st:(aki|ami|amilyen)\\b")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<igekoto_1>[Aa][Bb][Bb][Aa]|[Aa][Gg][Yy][Oo][Nn]|[Aa][Ll][Áá]|[Áá][Ll][Tt][Aa][Ll]|[Áá][Tt]|[Bb][Ee]|[Bb][Ee][Ll][Ee]|[Bb][Ee][Nn][Nn]|[Ee][Gg][Yy][Bb][Ee]|[Ee][Gg][Yy][Üü][Tt][Tt]|[Ee][Ll]|[Ee][Ll][Ll][Ee][Nn]|[Ee][Ll][Őő]|[Ee][Ll][Őő][Rr][Ee]|[Ff][Ee][Ll]|[Ff][Öö][Ll]|[Ff][Éé][Ll][Bb][Ee]|[Ff][Éé][Ll][Rr][Ee]|[Ff][Ee][Ll][Üü][Ll]|[Ff][Öö][Ll][Üü][Ll]|[Ff][Ee][Nn][Nn]|[Ff][Öö][Nn][Nn]|[Hh][Áá][Tt][Rr][Aa]|[Hh][Aa][Zz][Aa]|[Hh][Ee][Ll][Yy][Rr][Ee]|[Hh][Oo][Zz][Zz][Áá]|[Ii][Dd][Ee]|[Jj][Óó][Vv][Áá]|[Kk][Ee][Rr][Ee][Ss][Zz][Tt][Üü][Ll]|[Kk][Ee][Tt][Tt][Éé]|[Kk][Ii]|[Kk][Öö][Ll][Cc][Ss][Öö][Nn]|[Kk][Öö][Rr][Bb][Ee]|[Kk][Öö][Rr][Üü][Ll]|[Kk][Öö][Zz][Bb][Ee]|[Kk][Öö][Zz][Rr][Ee]|[Kk][Üü][Ll][Öö][Nn]|[Ll][Ee]|[Mm][Ee][Gg]|[Mm][Ee][Ll][Ll][Éé]|[Nn][Ee][Kk][Ii]|[Oo][Dd][Aa]|[Öö][Ss][Ss][Zz][Ee]|[Rr][Áá]|[Rr][Aa][Jj][Tt][Aa]|[Ss][Zz][Éé][Jj][Jj][Ee][Ll]|[Ss][Zz][Ee][Mm][Bb][Ee]|[Ss][Zz][Ee][Rr][Tt][Ee]|[Ss][Zz][Éé][Tt]|[Tt][Ee][Ll][Ee]|[Tt][Oo][Vv][Aa]|[Tt][Oo][Vv][Áá][Bb][Bb]|[Tt][Úú][Ll]|[Úú][Jj][Jj][Áá]|[Úú][Jj][Rr][Aa]|[Uu][Tt][Áá][Nn][Aa]|[Vv][Éé][Gg][Bb][Ee]|[Vv][Éé][Gg][Ii][Gg]|[Vv][Ii][Ss][Ss][Zz][Aa])(?P<segedige_1>([Aa][Kk][Aa][Rr]|[Bb][Íí][Rr]|[Ff][Oo][Gg]|[Ll][Ee][Gg][Yy]|[Ll][Ee][Hh][Ee][Tt]|[Ll][Ee][Nn][Nn]|[Ll][Ee][Ss][Zz]|[Ll][Ee][Tt][Tt]|[Ss][Zz][Aa][Bb][Aa][Dd]|[Ss][Zz][Ee][Rr][Ee][Tt]|[Tt][Aa][Ll][Áá][Ll]|[Tt][Uu][Dd]|[Vv][Aa][Nn]|[Vv][Oo][Ll])\\w*)(?P<szavak_1>( \\w+){0,}) (?P<igenev_1>(\\w+[Nn][Ii]))(?![-\\w\\u2013\\u00AD])', '\\g<igekoto_1> \\g<segedige_1>\\g<szavak_1> \\g<igenev_1>', 'Az igekötőt nem írjuk egybe a segédigével.', 'morph(LOCALE,m.group("igenev_1"), "INFINITIVE") and morph(LOCALE,m.group("igekoto_1")+m.group("segedige_1"), r"is:[/\\w]*DEF|ds:tt")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<igekoto_1>[Aa][Bb][Bb][Aa]|[Aa][Gg][Yy][Oo][Nn]|[Aa][Ll][Áá]|[Áá][Ll][Tt][Aa][Ll]|[Áá][Tt]|[Bb][Ee]|[Bb][Ee][Ll][Ee]|[Bb][Ee][Nn][Nn]|[Ee][Gg][Yy][Bb][Ee]|[Ee][Gg][Yy][Üü][Tt][Tt]|[Ee][Ll]|[Ee][Ll][Ll][Ee][Nn]|[Ee][Ll][Őő]|[Ee][Ll][Őő][Rr][Ee]|[Ff][Ee][Ll]|[Ff][Öö][Ll]|[Ff][Éé][Ll][Bb][Ee]|[Ff][Éé][Ll][Rr][Ee]|[Ff][Ee][Ll][Üü][Ll]|[Ff][Öö][Ll][Üü][Ll]|[Ff][Ee][Nn][Nn]|[Ff][Öö][Nn][Nn]|[Hh][Áá][Tt][Rr][Aa]|[Hh][Aa][Zz][Aa]|[Hh][Ee][Ll][Yy][Rr][Ee]|[Hh][Oo][Zz][Zz][Áá]|[Ii][Dd][Ee]|[Jj][Óó][Vv][Áá]|[Kk][Ee][Rr][Ee][Ss][Zz][Tt][Üü][Ll]|[Kk][Ee][Tt][Tt][Éé]|[Kk][Ii]|[Kk][Öö][Ll][Cc][Ss][Öö][Nn]|[Kk][Öö][Rr][Bb][Ee]|[Kk][Öö][Rr][Üü][Ll]|[Kk][Öö][Zz][Bb][Ee]|[Kk][Öö][Zz][Rr][Ee]|[Kk][Üü][Ll][Öö][Nn]|[Ll][Ee]|[Mm][Ee][Gg]|[Mm][Ee][Ll][Ll][Éé]|[Nn][Ee][Kk][Ii]|[Oo][Dd][Aa]|[Öö][Ss][Ss][Zz][Ee]|[Rr][Áá]|[Rr][Aa][Jj][Tt][Aa]|[Ss][Zz][Éé][Jj][Jj][Ee][Ll]|[Ss][Zz][Ee][Mm][Bb][Ee]|[Ss][Zz][Ee][Rr][Tt][Ee]|[Ss][Zz][Éé][Tt]|[Tt][Ee][Ll][Ee]|[Tt][Oo][Vv][Aa]|[Tt][Oo][Vv][Áá][Bb][Bb]|[Tt][Úú][Ll]|[Úú][Jj][Jj][Áá]|[Úú][Jj][Rr][Aa]|[Uu][Tt][Áá][Nn][Aa]|[Vv][Éé][Gg][Bb][Ee]|[Vv][Éé][Gg][Ii][Gg]|[Vv][Ii][Ss][Ss][Zz][Aa])(?P<letige_1>([Ll][Ee][Gg][Yy]|[Ll][Ee][Hh][Ee][Tt]|[Ll][Ee][Nn][Nn]|[Ll][Ee][Ss][Zz]|[Ll][Ee][Tt][Tt]|[Vv][Aa][Nn]|[Vv][Oo][Ll])\\w*)(?P<szavak_1>( \\w+){0,}) (?P<igenev_1>(\\w+[Vv][EeAa]))(?![-\\w\\u2013\\u00AD])', '\\g<igekoto_1> \\g<letige_1>\\g<szavak_1> \\g<igenev_1>', 'Az igekötő a lenni + -va/-ve szerkezetben nem a létigéhez kapcsolódik.', 'morph(LOCALE,m.group("igenev_1"), "_PART") and morph(LOCALE,m.group("igekoto_1")+m.group("letige_1"), r"is:[/\\w]*DEF|ds:tt")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Hh][Aa][Dd]|[Hh][Aa][Gg][Yy])( ([Nn][Ee] )?)(?P<W_1>\\w+)(?![-\\w\\u2013\\u00AD])', '\\1d\\2\\g<W_1>', 'Hadd helyesen.', 'morph(LOCALE,m.group("W_1"), r"(IMPER[_\\w]*SG_1|is:[_/\\w]*DEF_PL)") or (not wordmin(s[:m.start()],1) and morph(LOCALE,m.group("W_1"), r"is:[_/\\w]*DEF_SG_[23]"))', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(\\w+[LlNnRrZz][Dd]) (?P<igekoto_1>[Aa][Bb][Bb][Aa]|[Aa][Gg][Yy][Oo][Nn]|[Aa][Ll][Áá]|[Áá][Ll][Tt][Aa][Ll]|[Áá][Tt]|[Bb][Ee]|[Bb][Ee][Ll][Ee]|[Bb][Ee][Nn][Nn]|[Ee][Gg][Yy][Bb][Ee]|[Ee][Gg][Yy][Üü][Tt][Tt]|[Ee][Ll]|[Ee][Ll][Ll][Ee][Nn]|[Ee][Ll][Őő]|[Ee][Ll][Őő][Rr][Ee]|[Ff][Ee][Ll]|[Ff][Öö][Ll]|[Ff][Éé][Ll][Bb][Ee]|[Ff][Éé][Ll][Rr][Ee]|[Ff][Ee][Ll][Üü][Ll]|[Ff][Öö][Ll][Üü][Ll]|[Ff][Ee][Nn][Nn]|[Ff][Öö][Nn][Nn]|[Hh][Áá][Tt][Rr][Aa]|[Hh][Aa][Zz][Aa]|[Hh][Ee][Ll][Yy][Rr][Ee]|[Hh][Oo][Zz][Zz][Áá]|[Ii][Dd][Ee]|[Jj][Óó][Vv][Áá]|[Kk][Ee][Rr][Ee][Ss][Zz][Tt][Üü][Ll]|[Kk][Ee][Tt][Tt][Éé]|[Kk][Ii]|[Kk][Öö][Ll][Cc][Ss][Öö][Nn]|[Kk][Öö][Rr][Bb][Ee]|[Kk][Öö][Rr][Üü][Ll]|[Kk][Öö][Zz][Bb][Ee]|[Kk][Öö][Zz][Rr][Ee]|[Kk][Üü][Ll][Öö][Nn]|[Ll][Ee]|[Mm][Ee][Gg]|[Mm][Ee][Ll][Ll][Éé]|[Nn][Ee][Kk][Ii]|[Oo][Dd][Aa]|[Öö][Ss][Ss][Zz][Ee]|[Rr][Áá]|[Rr][Aa][Jj][Tt][Aa]|[Ss][Zz][Éé][Jj][Jj][Ee][Ll]|[Ss][Zz][Ee][Mm][Bb][Ee]|[Ss][Zz][Ee][Rr][Tt][Ee]|[Ss][Zz][Éé][Tt]|[Tt][Ee][Ll][Ee]|[Tt][Oo][Vv][Aa]|[Tt][Oo][Vv][Áá][Bb][Bb]|[Tt][Úú][Ll]|[Úú][Jj][Jj][Áá]|[Úú][Jj][Rr][Aa]|[Uu][Tt][Áá][Nn][Aa]|[Vv][Éé][Gg][Bb][Ee]|[Vv][Éé][Gg][Ii][Gg]|[Vv][Ii][Ss][Ss][Zz][Aa])(?![-\\w\\u2013\\u00AD])', '\\1d \\2', 'Felszólító mód.', '(not wordmin(s[:m.start()],1) or wordmin(s[:m.start()],1).lower() == "ne") and morph(LOCALE,m.group(1), "st:" + m.group(1).lower() + r"\\b") and morph(LOCALE,m.group(1)+"d", r"IMPER")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Éé][Rr][Dd][Dd] [Ee][Ll](?![-\\w\\u2013\\u00AD])', 'kérd el', '„kér” felszólító módja.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Mm][Ee][Gg][Ff][Ee])([Dd]\\w*)(?![-\\w\\u2013\\u00AD])', '\\1d\\2', 'Megfedd helyesen.', 'morph(LOCALE,m.group(1)+m.group(2), r"st:fed\\b")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Ee][Ll][Tt][Uu][Ss])([Oo][Ll]\\w*)(?![-\\w\\u2013\\u00AD])', '\\1s\\2', 'Eltussol helyesen (kivéve, ha zuhanyzásról van szó).', 'morph(LOCALE,m.group(1)+m.group(2), r"st:tusol\\b")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Ff][Őő][Kk][Éé]([Pp]|[Pp][Ee][Nn])(?![-\\w\\u2013\\u00AD])', 'főkép\\1', 'Ha határozószó, akkor főképp.', 'wordmin(s[:m.start()],1) != "a" and wordmin(s[:m.start()],1) != "A"', 0], ['(?u)\\b0-á(\\w+)', '0-\\1', 'Hibás toldalék?', False, 0], ['(?u)(?<=[14])-([^g]|sz)?[ae]l\\b', '-gyel', 'Hibás toldalék?', False, 0], ['(?u)(?<=[14][\\)\\]])-([^g]|sz)?[ae]l\\b', '-gyel', 'Hibás toldalék?', False, 0], ['(?u)([[\\(]?\\d*2[\\)\\]]?)-ő', '\\1', 'Hibás toldalék?', False, 0], ['(?u)([[\\(]?\\d*2[\\)\\]]?)-ő(\\w+)', '\\1-\\2', 'Hibás toldalék?', False, 0], ['(?u)(?<=2)-([^v]|gy|sz)?[ae]l\\b', '-vel', 'Hibás toldalék?', False, 0], ['(?u)(?<=2[\\)\\]])-([^v]|gy|sz)?[ae]l\\b', '-vel', 'Hibás toldalék?', False, 0], ['(?u)([[\\(]?\\d*3[\\)\\]]?)-á\\b', '\\1-má', 'Hibás toldalék?', False, 0], ['(?u)(?<=3)-([^m]|gy|sz)?[ae]l\\b', '-mal', 'Hibás toldalék?', False, 0], ['(?u)(?<=3[\\)\\]])-([^m]|gy|sz)?[ae]l\\b', '-mal', 'Hibás toldalék?', False, 0], ['(?u)(?<=[57])-([^t]|gy|sz)?[ae]l\\b', '-tel', 'Hibás toldalék?', False, 0], ['(?u)(?<=[57][\\)\\]])-([^t]|gy|sz)?[ae]l\\b', '-tel', 'Hibás toldalék?', False, 0], ['(?u)(?<=[6])-([^t]|gy|sz)?[ae]l\\b', '-tal', 'Hibás toldalék?', False, 0], ['(?u)(?<=[6][\\)\\]])-([^t]|gy|sz)?[ae]l\\b', '-tal', 'Hibás toldalék?', False, 0], ['(?u)([[\\(]?\\d*6[\\)\\]]?)-á\\b', '\\1-tá', 'Hibás toldalék?', False, 0], ['(?u)([[\\(]?\\d*8[\\)\\]]?)-á\\b', '\\1-cá', 'Hibás toldalék?', False, 0], ['(?u)(?<=8)-([^c]|gy|sz)?[ae]l\\b', '-cal', 'Hibás toldalék?', False, 0], ['(?u)(?<=8[\\)\\]])-([^c]|gy|sz)?[ae]l\\b', '-cal', 'Hibás toldalék?', False, 0], ['(?u)(?<=9)-([^c]|gy|sz)?[ae]l\\b', '-cel', 'Hibás toldalék?', False, 0], ['(?u)(?<=9[\\)\\]])-([^c]|gy|sz)?[ae]l\\b', '-cel', 'Hibás toldalék?', False, 0], ['(?u)(?<=10)-([^z]|gy|sz)?[ae]l\\b', '-zel', 'Hibás toldalék?', False, 0], ['(?u)(?<=10[\\)\\]])-([^z]|gy|sz)?[ae]l\\b', '-zel', 'Hibás toldalék?', False, 0], ['(?u)([[\\(]?\\d*20[\\)\\]]?)-á\\b', '\\1-szá', 'Hibás toldalék?', False, 0], ['(?u)(?<=20)-([^z]|gy)?[ae]l\\b', '-szal', 'Hibás toldalék?', False, 0], ['(?u)(?<=20[\\)\\]])-([^z]|gy)?[ae]l\\b', '-szal', 'Hibás toldalék?', False, 0], ['(?u)([[\\(]?\\d*30[\\)\\]]?)-á\\b', '\\1-cá', 'Hibás toldalék?', False, 0], ['(?u)(?<=30)-([^c]|gy|sz)?[ae]l\\b', '-cal', 'Hibás toldalék?', False, 0], ['(?u)(?<=30[\\)\\]])-([^c]|gy|sz)?[ae]l\\b', '-cal', 'Hibás toldalék?', False, 0], ['(?u)(?<=[4579]0)-([^n]|gy|sz)?[ae]l\\b', '-nel', 'Hibás toldalék?', False, 0], ['(?u)(?<=[4579]0[\\)\\]])-([^n]|gy|sz)?[ae]l\\b', '-nel', 'Hibás toldalék?', False, 0], ['(?u)(?<=[68]0)-([^n]|gy|sz)?[ae]l\\b', '-nal', 'Hibás toldalék?', False, 0], ['(?u)(?<=[68]0[\\)\\]])-([^n]|gy|sz)?[ae]l\\b', '-nal', 'Hibás toldalék?', False, 0], ['(?u)([[\\(]?\\d*[68]0[\\)\\]]?)-á\\b', '\\1-ná', 'Hibás toldalék?', False, 0], ['(?u)\\b([[\\(]?[1-9]00[\\)\\]]?)-á\\b', '\\1-zá', 'Hibás toldalék?', False, 0], ['(?u)(?<=[1-9]00)-([^z]|gy|sz)?[ae]l\\b', '-zal', 'Hibás toldalék?', False, 0], ['(?u)(?<=[1-9]00[\\)\\]])-([^z]|gy|sz)?[ae]l\\b', '-zal', 'Hibás toldalék?', False, 0], ['(?u)(?<=[1-9]000)-([^r]|gy|sz)?[ae]l\\b', '-rel', 'Hibás toldalék?', False, 0], ['(?u)(?<=[1-9]000[\\)\\]])-([^r]|gy|sz)?[ae]l\\b', '-rel', 'Hibás toldalék?', False, 0], ['(?u)(?<=\u200b[bcdefgijlmnprstvwxz]\\))(-\\w*[aoáó]\\w?)', '= m.group(1).translate(str.maketrans("aoáó", u"eeéő"))', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=\u200b[ahkoquy]\\))(-\\w*[eéő]\\w?)', '= m.group(1).translate(str.maketrans("eéő", u"aáó")).replace("-at", "-t")', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=\u200b[fmnx]\\))(-t)\\b', '-et', 'Hibás toldalékolás?', False, 0], ['(?u)(?<=\u200b[a-eg-lo-wyz]\\))(-et)\\b', '-t', 'Hibás toldalékolás?', False, 0], ['(?u)(?<=[25])(-\\w*[aoáó]\\w?|-hez)\\b', '= m.group(1).translate(str.maketrans("aoáó", u"eeéő")).replace("hez", u"höz")', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[25][\\)\\]])(-\\w*[aoáó]\\w?|-hez)\\b', '= m.group(1).translate(str.maketrans("aoáó", u"eeéő")).replace("hez", u"höz")', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[1479])(-\\w*[aoáóö]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"aoáóö", u"eeéőe"))', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[1479][\\)\\]])(-\\w*[aoáóö]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"aoáóö", u"eeéőe"))', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[14579]0)(-\\w*[aoáóö]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"aoáóö", u"eeéőe"))', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[14579]0[\\)\\]])(-\\w*[aoáóö]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"aoáóö", u"eeéőe"))', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[1-9]000)(-\\w*[aoáóö]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"aoáóö", u"eeéőe"))', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[1-9]000[\\)\\]])(-\\w*[aoáóö]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"aoáóö", u"eeéőe"))', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[368])(-\\w*[éeöő]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"eéöő", u"aáoó")).replace("haz", "hoz")', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[368][\\)\\]])(-\\w*[éeöő]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"eéöő", u"aáoó")).replace("haz", "hoz")', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[2368]0)(-\\w*[éeöő]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"eéöő", u"aáoó")).replace("haz", "hoz")', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[2368]0[\\)\\]])(-\\w*[éeöő]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"eéöő", u"aáoó")).replace("haz", "hoz")', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[1-9]00)(-\\w*[éeöő]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"eéöő", u"aáoó")).replace("haz", "hoz")', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?u)(?<=[1-9]00[\\)\\]])(-\\w*[éeöő]\\w?)\\b', '= m.group(1).translate(str.maketrans(u"eéöő", u"aáoó")).replace("haz", "hoz")', 'Hibás toldalékolás?', 'morph(LOCALE,m.group(1), r"po:(suffix|punct)\\b")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Tt][Öö][Bb][Bb], [Mm][Ii][Nn][Tt](?![-\\w\\u2013\\u00AD])', 'több mint', 'Ha nem összehasonlítás, hanem a mondanivaló erősítése, itt nem használunk vesszőt. | http://helyesiras.mta.hu/helyesiras/default/akh12#244', 'morph(LOCALE,word(s[m.end():],1), r"(po:noun.*ds:s_\\w*|po:adj|PRESPART_adj|po:adj_num.*(is:|An_MODE_adv))\\b") or (morph(LOCALE,word(s[m.end():],1), r"(po:adj_num|^\\d+$)") and morph(LOCALE,word(s[m.end():],2), r"(po:noun\\b.*is:|(po:adj_num|st:ezer\\b).*(is:|An_MODE_adv))")) or (re.match(r"\\d+$", word(s[m.end():],1)) and morph(LOCALE,word(s[m.end():],2), r"po:adj_num|st:ezer\\b") and morph(LOCALE,word(s[m.end():],3), r"po:noun\\b.*is:")) or re.match(r"\\d+%-", word(s[m.end():],1))', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(\\w+)( [Aa][Vv][Aa][Gg][Yy])(?![-\\w\\u2013\\u00AD])', '\\1,\\2', 'Az avagy kötőszó elé vesszőt teszünk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(\\w+)( [Ii][Ll][Ll][Ee][Tt][Vv][Ee])(?![-\\w\\u2013\\u00AD])', '\\1,\\2', 'Az illetve kötőszó elé vesszőt teszünk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(\\w+)( [Ii][Ll][Ll][.])(?![-\\w\\u2013\\u00AD])', '\\1,\\2|\\1, illetve', 'Az illetve kötőszó elé vesszőt teszünk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(\\w+)( [Vv][Aa][Ll][Aa][Mm][Ii][Nn][Tt])(?![-\\w\\u2013\\u00AD])', '\\1,\\2', 'A valamint kötőszó elé vesszőt teszünk.', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Mm][Ee][Ll][Ll][Ee][Tt](?![-\\w\\u2013\\u00AD])', 'mellett', 'Nem inkább mellett (vagy hibás különírás)?', 'morph(LOCALE,wordmin(s[:m.start()],1), r"po:noun.*:NOM(?!.*[di]s:)|_noun\\s+ts:NOM$")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Ee][Ll][Ll][Ee][Tt](?![-\\w\\u2013\\u00AD])', 'kellett', 'Helyesírási hiba.', 'morph(LOCALE,wordmin(s[:m.start()],1), r"INF_|_inf") or morph(LOCALE,wordmin(s[:m.start()],2), r"INF_|_inf")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Kk][Ee][Ll][Ll][Ee][Tt](?![-\\w\\u2013\\u00AD])', 'kellett', 'Helyesírási hiba.', 'morph(LOCALE,word(s[m.end():],1), r"INF_|_inf") or morph(LOCALE,word(s[m.end():],2), r"INF_|_inf") or word(s[m.end():],1) == "volna"', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(\\w+) [Hh][Ee][Ll][Yy][Ee][Tt][Tt] ([Kk][Aa][Pp]\\w*)(?![-\\w\\u2013\\u00AD])', '\\1 helyet \\2', 'Helyesen: helyet kap.', 'morph(LOCALE,m.group(1), r"st:(is|ismét|mellett|még)\\b|is:INE") and morph(LOCALE,m.group(2), r"st:kap\\b")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?<=[NNn][Ee][Mm] )[Hh][Aa][Ll][Oo][Tt][Tt]([Aa][Mm]|[Uu][Nn][Kk])(?![-\\w\\u2013\\u00AD])', 'hallott\\1', 'Helyesírási hiba?', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Hh][Aa][Ll])([Oo][Tt][Tt]\\w*)(?= róla\\w*)(?![-\\w\\u2013\\u00AD])', '\\1l\\2', 'Helyesírási hiba?', False, 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<W_1>\\w{4,5})(?![-\\w\\u2013\\u00AD])', '=suggest(LOCALE,m.group("W_1"))', 'Biztos, hogy helyes összetett szó?', 'option(LOCALE,"compound") and morph(LOCALE,m.group("W_1"), "pa:")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<W_1>\\w{4,})(?![-\\w\\u2013\\u00AD])', '=suggest(LOCALE,m.group("W_1"))', 'Biztos, hogy helyes összetett szó?', 'option(LOCALE,"compound") and morph(LOCALE,m.group("W_1"), r"(?u)pa:\\w\\w\\b")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])(?P<W_1>\\w{4,})(?![-\\w\\u2013\\u00AD])', '=suggest(LOCALE,m.group("W_1"))', 'Biztos, hogy helyes összetett szó?', 'option(LOCALE,"allcompound") and morph(LOCALE,m.group("W_1"), "pa:")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Mm][Éé][Dd][Ii][Áá][Kk](?![-\\w\\u2013\\u00AD])', 'médiák|média|hírek|lapok|hírcsatornák', 'Vitatott stílusértékű alak.', 'option(LOCALE,"style")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])[Uu][Nn][Ss][Zz][Ii][Mm][Pp][Aa][Tt][Ii][Kk][Uu][Ss](?![-\\w\\u2013\\u00AD])', 'unszimpatikus|ellenszenves|antipatikus', 'Vitatott stílusértékű alak.', 'option(LOCALE,"style")', 0], ['(?u) (-\\w+)', '\\1', 'A toldalékot szóköz nélkül írjuk.', 'option(LOCALE,"wordpart") and morph(LOCALE,m.group(0), "st:-e|po:(suffix|punct)")', 0], ['(?iu)(?<![-\\w\\u2013.,\\u00AD])([Aa]|[Aa][Zz]|[Ee][Gg][Yy]) (\\w+) (\\w+)(?![-\\w\\u2013\\u00AD])', '\\1 \\2\\3', 'Hibás különírás?', 'option(LOCALE,"wordpart") and spell(LOCALE,m.group(2) + m.group(3)) and morph(LOCALE,word(s[m.end():],1), "po:vrb") and affix(LOCALE,m.group(2), "ts:NOM$") and not morph(LOCALE,m.group(2), "ts:PLUR") and affix(LOCALE,m.group(3), "[it]s:NOM$")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<W_1>[-\\w]{3,}) \\1(?![-\\w\\u2013\\u00AD])', '\\g<W_1>|\\g<W_2>-\\1', 'Szóismétlés vagy hiányzó kötőjel?', 'option(LOCALE,"dup0") and (not wordmin(s[:m.start()],1) or not wordmin(s[:m.start()],1).lower() in ["a", "az", "minden"]) and word(s[m.end():],1) != u"hátán" and word(s[m.end():],1) != u"hátán." and not morph(LOCALE,word(s[m.end():],1), "po:post", False)', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<W_1>[-\\w]{3,})(?: [-–\\w„”]+)* \\1(?![-\\w\\u2013\\u00AD])', '\\g<W_1>', 'Túlzott szóismétlés?', 'option(LOCALE,"dup")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(?P<W_1>[-\\w]{3,})[;,:]?(?: [-–\\w„”]+[;,:]?)* \\1(?![-\\w\\u2013\\u00AD])', '\\g<W_1>', 'Túlzott szóismétlés?', 'option(LOCALE,"dup2")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-\\w]{4})([-\\w]+)(?: [-–\\w„”]+)* \\1(\\w+)(?![-\\w\\u2013\\u00AD])', '\\1\\2', 'Túlzott szóismétlés?', 'option(LOCALE,"dup3") and option(LOCALE,"dup") and morph(LOCALE,m.group(1)+m.group(2), r"(?u)st:\\w+") == morph(LOCALE,m.group(1)+m.group(3), r"(?u)st:\\w+") and not morph(LOCALE,m.group(1)+m.group(3), "pa:") and not morph(LOCALE,m.group(1)+m.group(2), "pa:")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-\\w]{4})([-\\w]+)[;,:]?(?: [-–\\w„”]+[;,:]?)* \\1(\\w+)(?![-\\w\\u2013\\u00AD])', '\\1\\2', 'Túlzott szóismétlés?', 'option(LOCALE,"dup3") and option(LOCALE,"dup2") and morph(LOCALE,m.group(1)+m.group(2), r"(?u)st:\\w+") == morph(LOCALE,m.group(1)+m.group(3), r"(?u)st:\\w+") and not morph(LOCALE,m.group(1)+m.group(3), "pa:") and not morph(LOCALE,m.group(1)+m.group(2), "pa:")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])[-\\w]*f[fil][-\\w]*(?![-\\w\\u2013\\u00AD])', '=m.group(0).replace("ffi",u"ffi").replace("ffl",u"ffl").replace("ff",u"ff").replace("fi",u"fi").replace("fl",u"fl")', 'A szó unicode-os f-ligatúrákkal:', 'option(LOCALE,"ligature")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])[-\\w]*(ffi|ffl|ff|fi|fl)[-\\w]*(?![-\\w\\u2013\\u00AD])', '=m.group(0).replace(u"ffi","ffi").replace(u"ffl","ffl").replace(u"ff","ff").replace(u"fi","fi").replace(u"fl","fl")', 'A szó unicode-os f-ligatúrák nélkül:', 'option(LOCALE,"noligature")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])1/2((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '½\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])1/3((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '⅓\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])1/4((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '¼\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])3/4((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '¾\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])2/3((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '⅔\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])1/5((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '⅕\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])1/6((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '⅙\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])5/6((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '⅚\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])1/8((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '⅛\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])3/8((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '⅜\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])5/8((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '⅝\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])7/8((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '⅞\\1', 'Tipográfiai jel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])1/(\\d{1,3})((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '= u"⅟" + m.group(1).replace("0", u"₀").replace("1", u"₁").replace("2", u"₂").replace("3", u"₃").replace("4", u"₄").replace("5", u"₅").replace("6", u"₆").replace("7", u"₇").replace("8", u"₈").replace("9", u"₉") + m.group(2)', 'Tört tipográfiai jelekkel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([2-9]|\\d{2,3})/(\\d{1,3})((-\\w+)?)(?![-\\w\\u2013\\u00AD])', '= m.group(1).replace("0", u"⁰").replace("1", u"¹").replace("2", u"²").replace("3", u"³").replace("4", u"⁴").replace("5", u"⁵").replace("6", u"⁶").replace("7", u"⁷").replace("8", u"⁸").replace("9", u"⁹") + u"⁄" + m.group(2).replace("0", u"₀").replace("1", u"₁").replace("2", u"₂").replace("3", u"₃").replace("4", u"₄").replace("5", u"₅").replace("6", u"₆").replace("7", u"₇").replace("8", u"₈").replace("9", u"₉") + m.group(3)', 'Tört tipográfiai jelekkel:', 'option(LOCALE,"frac")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])[µmck]?m[23](-\\w+)?(?![-\\w\\u2013\\u00AD])', '=m.group(0).replace("2", u"²").replace("3", u"³")', 'Index tipográfiai jellel:', 'option(LOCALE,"idx")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])(Ca(CO3|SO4)|CO2|(H2|Na2)(CO3|O|SO4)|[HNO]2|HNO3|Fe2O3|KMnO4|NO2|SiO2|SO[23])(-\\w+)?(?![-\\w\\u2013\\u00AD])', '=m.group(0).replace("2", u"₂").replace("3", u"₃").replace("4", u"₄")', 'Index tipográfiai jellel.', 'option(LOCALE,"idx")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])kedvel(?![-\\w\\u2013\\u00AD])', 'kedvvel', 'Szótévesztés?', 'wordmin(s[:m.start()],1).lower() == u"jó" or wordmin(s[:m.start()],1).lower() == "rossz"', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?) (°F(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "F", "C", " " + m.group(2).replace("F", "C"))', 'Váltás SI mértékegységre', 'option(LOCALE,"SI")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?) (℉(-\\w+)?)(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "F", "C", " °C" + m.group(2)[1:])', 'Váltás SI mértékegységre', 'option(LOCALE,"SI")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d(?:,\\d+)?) (láb\\w*)(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "ft", "cm", " " + generate(LOCALE,u"centiméter", m.group(2))[0]) + "|" + measurement(m.group(1), "ft", "m", " " + generate(LOCALE,u"méter", m.group(2))[0])', 'Váltás SI mértékegységre', 'option(LOCALE,"SI") and stem(LOCALE,m.group(2)) == [u"láb"]', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d\\d+(?:,\\d+)?) (láb\\w*)(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "ft", "m", " " + generate(LOCALE,u"méter", m.group(2))[0])', 'Váltás SI mértékegységre', 'option(LOCALE,"SI") and stem(LOCALE,m.group(2)) == [u"láb"]', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?) (hüvelyk\\w*)(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "in", "cm", " " + generate(LOCALE,u"centiméter", m.group(2))[0])', 'Váltás SI mértékegységre', 'option(LOCALE,"SI")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?) (mérföld\\w*)(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "mi", "km", " " + generate(LOCALE,u"kilométer", m.group(2))[0])', 'Váltás SI mértékegységre', 'option(LOCALE,"SI")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?) (yard\\w*)(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "yd", "m", " " + generate(LOCALE,u"méter", m.group(2))[0])', 'Váltás SI mértékegységre', 'option(LOCALE,"SI")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?) (font (súlyú\\w*))(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "lbm", "kg", " " + generate(LOCALE,"kilogramm", u"szomor" + m.group(3)[4:])[0])', 'Váltás SI mértékegységre', 'option(LOCALE,"SI")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?) (gallon\\w*)(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "gal", "l", " " + generate(LOCALE,"liter", m.group(2))[0])', 'Váltás SI mértékegységre', 'option(LOCALE,"SI")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])([-−]?\\d+(?:,\\d+)?) (pint\\w*)(?![-\\w\\u2013\\u00AD])', '= measurement(m.group(1), "uk_pt", "dl", " " + generate(LOCALE,"deciliter", m.group(2))[0]) + "|" + measurement(m.group(1), "us_pt", "dl", " " + generate(LOCALE,"deciliter", m.group(2))[0])', 'Váltás SI mértékegységre (angol és amerikai pint)', 'option(LOCALE,"SI")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])adatút(?![-\\w\\u2013\\u00AD])', 'ada\xadtút|adat\xadút', 'Elválasztás:', 'option(LOCALE,"hyphen")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])felett(em|ed|e|ünk|ük)(?![-\\w\\u2013\\u00AD])', 'fe\xadlet\xadt\\1|fel\xadet\xadt\\1', 'Elválasztás:', 'option(LOCALE,"hyphen")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])felettetek(?![-\\w\\u2013\\u00AD])', 'fe\xadlet\xadte\xadtek|fel\xadet\xadte\xadtek', 'Elválasztás:', 'option(LOCALE,"hyphen")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])fölül(?![-\\w\\u2013\\u00AD])', 'fö\xadlül|föl\xadül', 'Elválasztás:', 'option(LOCALE,"hyphen")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])gépelem(?![-\\w\\u2013\\u00AD])', 'gé\xadpe\xadlem|gép\xadelem', 'Elválasztás:', 'option(LOCALE,"hyphen")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])karóra(?![-\\w\\u2013\\u00AD])', 'kar\xadóra|ka\xadró\xadra', 'Elválasztás:', 'option(LOCALE,"hyphen")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])megás(?![-\\w\\u2013\\u00AD])', 'me\xadgás|meg\xadás', 'Elválasztás:', 'option(LOCALE,"hyphen")', 0], ['(?u)(?<![-\\w\\u2013.,\\u00AD])megint(?![-\\w\\u2013\\u00AD])', 'me\xadgint|meg\xadint', 'Elválasztás:', 'option(LOCALE,"hyphen")', 0]] + diff --git a/dictionaries/hu_HU/pythonpath/lightproof_impl_hu_HU.py b/dictionaries/hu_HU/pythonpath/lightproof_impl_hu_HU.py new file mode 100644 index 0000000..144b2b5 --- /dev/null +++ b/dictionaries/hu_HU/pythonpath/lightproof_impl_hu_HU.py @@ -0,0 +1,264 @@ +# -*- encoding: UTF-8 -*- +from __future__ import unicode_literals +import uno, re, sys, os, traceback +from com.sun.star.text.TextMarkupType import PROOFREADING +from com.sun.star.beans import PropertyValue + +pkg = "hu_HU" +lang = "hu_HU" +locales = {'hu-HU': ['hu', 'HU', '']} +version = "1.6.4" +author = "László Németh" +name = "Lightproof grammar checker (magyar)" + +import lightproof_handler_hu_HU + +# loaded rules (check for Update mechanism of the editor) +try: + langrule +except NameError: + langrule = {} + +# ignored rules +ignore = {} + +# cache for morphogical analyses +analyses = {} +stems = {} +suggestions = {} + +# assign Calc functions +calcfunc = None + +# check settings +def option(lang, opt): + return lightproof_handler_hu_HU.get_option(lang.Language + "_" + lang.Country, opt) + +# filtering affix fields (ds, is, ts etc.) +def onlymorph(st): + if st != None: + st = re.sub(r"^.*(st:|po:)", r"\\1", st) # keep last word part + st = re.sub(r"\\b(?=[dit][sp]:)","@", st) # and its affixes + st = re.sub(r"(?<!@)\\b\w\w:\w+","", st).replace('@','').strip() + return st + +# if the pattern matches all analyses of the input word, +# return the last matched substring +def _morph(rLoc, word, pattern, all, onlyaffix): + global analyses + if not word: + return None + if word not in analyses: + x = spellchecker.spell(u"<?xml?><query type='analyze'><word>" + word + "</word></query>", rLoc, ()) + if not x: + return None + t = x.getAlternatives() + if not t: + if not analyses: # fix synchronization problem (missing alternatives with unloaded dictionary) + return None + t = [""] + analyses[word] = t[0].split("</a>")[:-1] + a = analyses[word] + result = None + p = re.compile(pattern) + for i in a: + if onlyaffix: + i = onlymorph(i) + result = p.search(i) + if result: + result = result.group(0) + if not all: + return result + elif all: + return None + return result + +def morph(rLoc, word, pattern, all=True): + return _morph(rLoc, word, pattern, all, False) + +def affix(rLoc, word, pattern, all=True): + return _morph(rLoc, word, pattern, all, True) + +def spell(rLoc, word): + if not word: + return None + return spellchecker.isValid(word, rLoc, ()) + +# get the tuple of the stem of the word or an empty array +def stem(rLoc, word): + global stems + if not word: + return [] + if not word in stems: + x = spellchecker.spell(u"<?xml?><query type='stem'><word>" + word + "</word></query>", rLoc, ()) + if not x: + return [] + t = x.getAlternatives() + if not t: + t = [] + stems[word] = list(t) + return stems[word] + +# get the tuple of the morphological generation of a word or an empty array +def generate(rLoc, word, example): + if not word: + return [] + x = spellchecker.spell(u"<?xml?><query type='generate'><word>" + word + "</word><word>" + example + "</word></query>", rLoc, ()) + if not x: + return [] + t = x.getAlternatives() + if not t: + t = [] + return list(t) + +# get suggestions +def suggest(rLoc, word): + global suggestions + if not word: + return word + if word not in suggestions: + x = spellchecker.spell("_" + word, rLoc, ()) + if not x: + return word + t = x.getAlternatives() + suggestions[word] = "|".join(t) + return suggestions[word] + +# get the nth word of the input string or None +def word(s, n): + a = re.match("(?u)( [-.\\w%%]+){" + str(n-1) + "}( [-.\\w%%]+)", s) + if not a: + return '' + return a.group(2)[1:] + +# get the (-)nth word of the input string or None +def wordmin(s, n): + a = re.search("(?u)([-.\\w%%]+ )([-.\\w%%]+ ){" + str(n-1) + "}$", s) + if not a: + return '' + return a.group(1)[:-1] + +def calc(funcname, par): + global calcfunc + global SMGR + if calcfunc == None: + calcfunc = SMGR.createInstance( "com.sun.star.sheet.FunctionAccess") + if calcfunc == None: + return None + return calcfunc.callFunction(funcname, par) + +def proofread( nDocId, TEXT, LOCALE, nStartOfSentencePos, nSuggestedSentenceEndPos, rProperties ): + global ignore + aErrs = [] + s = TEXT[nStartOfSentencePos:nSuggestedSentenceEndPos] + for i in get_rule(LOCALE).dic: + # 0: regex, 1: replacement, 2: message, 3: condition, 4: ngroup, (5: oldline), 6: case sensitive ? + if i[0] and not str(i[0]) in ignore: + for m in i[0].finditer(s): + try: + if not i[3] or eval(i[3]): + aErr = uno.createUnoStruct( "com.sun.star.linguistic2.SingleProofreadingError" ) + aErr.nErrorStart = nStartOfSentencePos + m.start(i[4]) # nStartOfSentencePos + aErr.nErrorLength = m.end(i[4]) - m.start(i[4]) + aErr.nErrorType = PROOFREADING + aErr.aRuleIdentifier = str(i[0]) + iscap = (i[-1] and m.group(i[4])[0:1].isupper()) + if i[1][0:1] == "=": + aErr.aSuggestions = tuple(cap(eval(i[1][1:]).replace('|', "\n").split("\n"), iscap, LOCALE)) + elif i[1] == "_": + aErr.aSuggestions = () + else: + aErr.aSuggestions = tuple(cap(m.expand(i[1]).replace('|', "\n").split("\n"), iscap, LOCALE)) + comment = i[2] + if comment[0:1] == "=": + comment = eval(comment[1:]) + else: + comment = m.expand(comment) + aErr.aShortComment = comment.replace('|', '\n').replace('\\n', '\n').split("\n")[0].strip() + aErr.aFullComment = comment.replace('|', '\n').replace('\\n', '\n').split("\n")[-1].strip() + if "://" in aErr.aFullComment: + p = PropertyValue() + p.Name = "FullCommentURL" + p.Value = aErr.aFullComment + aErr.aFullComment = aErr.aShortComment + aErr.aProperties = (p,) + else: + aErr.aProperties = () + aErrs = aErrs + [aErr] + except Exception as e: + if len(i) == 7: + raise Exception(str(e), i[5]) + raise + + return tuple(aErrs) + +def cap(a, iscap, rLoc): + for i in range(0, len(a)): + if a[i][0:6] == "!CASE!": + a[i] = a[i][6:] + elif iscap: + if a[i][0:1] == "i": + if rLoc.Language == "tr" or rLoc.Language == "az": + a[i] = u"\u0130" + a[i][1:] + elif a[i][1:2] == "j" and rLoc.Language == "nl": + a[i] = "IJ" + a[i][2:] + else: + a[i] = "I" + a[i][1:] + else: + a[i] = a[i].capitalize() + return a + +def compile_rules(dic): + # compile regular expressions + for i in dic: + try: + if re.compile("[(][?]iu[)]").match(i[0]): + i += [True] + i[0] = re.sub("[(][?]iu[)]", "(?u)", i[0]) + else: + i += [False] + i[0] = re.compile(i[0]) + except: + if 'PYUNO_LOGLEVEL' in os.environ: + print("Lightproof: bad regular expression: " + str(traceback.format_exc())) + i[0] = None + +def get_rule(loc): + try: + return langrule[pkg] + except: + langrule[pkg] = __import__("lightproof_" + pkg) + compile_rules(langrule[pkg].dic) + return langrule[pkg] + +def get_path(): + return os.path.join(os.path.dirname(sys.modules[__name__].__file__), __name__ + ".py") + +# [code] + + +abbrev=re.compile(r"(?i)\\b([a-z\xf6\xfc\xf3\u0151\xfa\xe9\xe1\u0171\xed\xd6\xdc\xd3\u0150\xda\xc9\xc1\u0170\xcd]|\xc1e|\xc1ht|AkH|al|\xe1lt|\xe1pr|aug|Avtv|bek|Bp|br|bt|Btk|cca|ci(i|ii|v|x)?|cl(i|ii|iii|iv|ix|v|vi|vii|viii|x|xi|xii|xiii|xiv|xix|xv|xvi|xvii|xviii|xx|xxi|xxii|xxiii|xxiv|xxix|xxv|xxvi|xxvii|xxviii|xxx|xxxi|xxxii|xxxiii|xxxiv|xxxix|xxxv|xxxvi|xxxvii|xxxviii)?|Co|cv(i|ii|iii)?|cx(c|ci|cii|ciii|civ|cix|cv|cvi|cvii|cviii|i|ii|iii|iv|ix|l|li|lii|liii|liv|lix|lv|lvi|lvii|lviii|v|vi|vii|viii|x|xi|xii|xiii|xiv|xix|xv|xvi|xvii|xviii|xx|xxi|xxii|xxiii|xxiv|xxix|xxv|xxvi|xxvii|xxviii)?|cs|Csjt|Cstv|cs\xfct|dec|dk|dny|dr|du|dz(s)?|egy|\xe9k|\xc9Ksz|em|\xe9ny|\xc9pt|\xe9rk|etc|Etv|e\xfc|ev|\xe9vf|febr|felv|Flt|ford|f\u0151isk|fsz(la|t)?|Ftv|gimn|g\xf6r|gr|Gt|gy|Gyvt|habil|hg|hiv|Hjt|honv|Hpt|hrsz|hsz|Hszt|htb|id|ifj|ig(h)?|ii(i)?|ill|Inc|ind|isk|iv|ix|izr|jan|jegyz|j\xfal|j\xfan|kat|kb|Kbt|ker|kft|kgy|kht|kir|kiv|Kjt|kk(t)?|koll|korm|k\xf6v|kp|Kr|krt|Kt(v)?|ld|li(i|ii|v|x)?|Ltd|ltp|Ltv|luth|lv(i|ii|iii)?|lx(i|ii|iii|iv|ix|v|vi|vii|viii|x|xi|xii|xiii|xiv|xix|xv|xvi|xvii|xviii|xx|xxi|xxii|xxiii|xxiv|xxix|xxv|xxvi|xxvii|xxviii)?|ly|m\xe1j|m\xe1rc|mat|max|mb|megh|megj|MHSz|min|mk|Mo|Mt|NB|nov|ny(\xe1)?|Nyilv|nyrt|okl|okt|olv|op|orsz|ort|ov(h)?|\xf6ssz|\xd6tv|\xf6zv|Pf|pl(d)?|prof|prot|Ptk|pu|ref|rk(p)?|r\xf3m|r\xf6v|rt|sgt|spec|stb|sz(ept|erk)?|Szjt|szoc|Szt(v)?|sz\xfcl|Tbj|tc|tel|tkp|tszf|tvr|ty|ua|ui|\xfam|\xfan|uo|Ve|Vhr|vi(i|ii)?|v\xf6|vsz|Vt(v)?|xc(i|ii|iii|iv|ix|v|vi|vii|viii)?|xi(i|ii|v|x)?|xl(i|ii|iii|iv|ix|v|vi|vii|viii)?|xv(i|ii|iii)?|xx(i|ii|iii|iv|ix|v|vi|vii|viii|x|xi|xii|xiii|xiv|xix|xv|xvi|xvii|xviii)?|zrt)\\.") + +# pattern for paragraph checking +paralcap = re.compile(u"(?u)^[a-z\xf6\xfc\xf3\u0151\xfa\xe9\xe1\u0171\xed].*[.?!] [A-Z\xd6\xdc\xd3\u0150\xda\xc9\xc1\u0170\xcd].*[.?!][)\u201d]?$") + + +foreign=["ab ovo", "ars poetica", "casus belli", "categoricus imperativus", + "coming out", "cash flow", "circulus vitiosus", "corpus delicti", "de facto", "de jure", + "delirium tremens", "doctor honoris causa", "et cetera", "fait accompli", "fixa idea", + "horribile dictu", "hot dog", "in flagranti", "in medias res", "in memoriam", "in vitro", + "in vivo", "magna cum laude", "mea culpa", "memento mori", "mountain bike", "nota bene", + "persona non grata", "plein air", "pro bono", "salto mortale", "status quo", "tabula rasa", + "terminus technicus", "vice versa", "vis maior"] + +def suggest_foreign(word): + return "\n".join([i for i in foreign if word == i.split(" ")[0]]) + + +def measurement(mnum, min, mout, mstr): + m = calc("CONVERT", (float(mnum.replace(",", ".").replace(u"\u2212", "-")), min, mout)) + a = list(set([str(calc("ROUND", (m, 0)))[:-2], str(calc("ROUND", (m, 1))), str(calc("ROUND", (m, 2))), str(m)])) # remove duplicated rounded items + a.sort(key=lambda x: len(x)) # sort by string length + return (mstr + "|").join(a).replace(".", ",").replace("-", u"\u2212") + mstr + + diff --git a/dictionaries/hu_HU/pythonpath/lightproof_opts_hu_HU.py b/dictionaries/hu_HU/pythonpath/lightproof_opts_hu_HU.py new file mode 100644 index 0000000..6b18d60 --- /dev/null +++ b/dictionaries/hu_HU/pythonpath/lightproof_opts_hu_HU.py @@ -0,0 +1,4 @@ +lopts = {} +lopts_default = {} +lopts['hu_HU'] = [u'cap', u'par', u'quot', u'wordpart', u'dash', u'comma', u'numpart', u'grammar', u'style', u'dup0', u'compound', u'dup', u'allcompound', u'dup2', u'money', u'dup3', u'SI', u'hyphen', u'apost', u'spaces', u'frac', u'ligature', u'elli', u'spaces2', u'thin', u'noligature', u'idx', u'minus'] +lopts_default['hu_HU'] = [u'dash', u'dup0', u'money', u'apost', u'spaces'] |