Index: gc_lang/fr/modules-js/textformatter.js ================================================================== --- gc_lang/fr/modules-js/textformatter.js +++ gc_lang/fr/modules-js/textformatter.js @@ -62,11 +62,11 @@ [/&([a-z]+)[   ];/g, "&$1;"], [/&#([0-9]+|x[0-9a-fA-F]+)[   ];/g, "&#$1;"] ], //// missing spaces "add_space_after_punctuation":[ [/[;!…](?=[a-zA-Zà-ö0-9À-Öø-ÿØ-ßĀ-ʯ])/g, "$& "], [/[?](?=[A-ZÀ-ÖØ-ßĀ-ʯ])/g, "? "], - [/\.(?=[a-zA-Zà-öÀ-Öø-ÿØ-ßĀ-ʯ][a-zA-Zà-ö0-9À-Öø-ÿØ-ßĀ-ʯ])/g, ". "], + [/\.(?=[A-ZÀ-ÖØ-ßĀ-ʯ][a-zA-Zà-ö0-9À-Öø-ÿØ-ßĀ-ʯ])/g, ". "], [/\.(?=À)/g, ". "], [/[,:](?=[a-zA-Zà-öÀ-Öø-ÿØ-ßĀ-ʯ])/g, "$& "], [/([a-zA-Zà-öÀ-Öø-ÿØ-ßĀ-ʯ]),(?=[0-9])/g, "$1, "] ], "add_space_around_hyphens": [ [/ [-–—](?=[a-zA-Zà-ö0-9À-Öø-ÿØ-ßĀ-ʯ"«“'‘])/g, "$& "], [/([a-zA-Zà-ö0-9À-Öø-ÿØ-ßĀ-ʯ"»”'’])([-–—]) /g, "$1 $2 "] ], Index: gc_lang/fr/oxt/TextFormatter/TextFormatter.py ================================================================== --- gc_lang/fr/oxt/TextFormatter/TextFormatter.py +++ gc_lang/fr/oxt/TextFormatter/TextFormatter.py @@ -423,10 +423,11 @@ xPointer.setType(uno.getConstantByName("com.sun.star.awt.SystemPointer.WAIT")) xWindowPeer = self.xContainer.getPeer() xWindowPeer.setPointer(xPointer) for x in xWindowPeer.Windows: x.setPointer(xPointer) + # ICU: & is $0 in replacement field # NOTE: A LOT OF REGEX COULD BE MERGED IF ICU ENGINE WAS NOT SO BUGGY # "([;?!…])(?=[:alnum:])" => "$1 " doesn’t work properly # "(?<=[:alnum:])([;?!…])" => " $1 " doesn’t work properly self.pbar.ProgressValue = 0 # Restructuration @@ -516,21 +517,22 @@ n += self._replaceText(xElem, "(?<=[]…)»}]);", " ;", True) n += self._replaceText(xElem, "(?<=[]…)»}])[?][   ]", " ? ", True) n += self._replaceText(xElem, "(?<=[]…)»}])[?]$", " ?", True) n += self._replaceText(xElem, "(?<=[]…)»}])!", " !", True) n += self._replaceText(xElem, "[  ]+([:;?!])", " $1", True) + # réparations n -= self._replaceText(xElem, "([[(])[   ]([!?:;])", "$1$2", True) n -= self._replaceText(xElem, "(?<=http)[   ]://", "://", True) n -= self._replaceText(xElem, "(?<=https)[   ]://", "://", True) n -= self._replaceText(xElem, "(?<=ftp)[   ]://", "://", True) - n -= self._replaceText(xElem, "(?<=&)amp[   ];", "amp;", True) # ICU: & is $0 in replacement field - n -= self._replaceText(xElem, "(?<=&)nbsp[   ];", "nbsp;", True) # ICU: & is $0 in replacement field - n -= self._replaceText(xElem, "(?<=&)lt[   ];", "lt;", True) # ICU: & is $0 in replacement field - n -= self._replaceText(xElem, "(?<=&)gt[   ];", "gt;", True) # ICU: & is $0 in replacement field - n -= self._replaceText(xElem, "(?<=&)apos[   ];", "apos;", True) # ICU: & is $0 in replacement field - n -= self._replaceText(xElem, "(?<=&)quot[   ];", "quot;", True) # ICU: & is $0 in replacement field - n -= self._replaceText(xElem, "(?<=&)thinsp[   ];", "thinsp;", True) # ICU: & is $0 in replacement field + n -= self._replaceText(xElem, "(?<=&)amp[   ];", "amp;", True) + n -= self._replaceText(xElem, "(?<=&)nbsp[   ];", "nbsp;", True) + n -= self._replaceText(xElem, "(?<=&)lt[   ];", "lt;", True) + n -= self._replaceText(xElem, "(?<=&)gt[   ];", "gt;", True) + n -= self._replaceText(xElem, "(?<=&)apos[   ];", "apos;", True) + n -= self._replaceText(xElem, "(?<=&)quot[   ];", "quot;", True) + n -= self._replaceText(xElem, "(?<=&)thinsp[   ];", "thinsp;", True) self.nbsp1_res.Label = str(n) self.pbar.ProgressValue += 1 if self.nbsp2.State: if self.nnbsp2.State: # espaces insécables fines @@ -569,11 +571,11 @@ self.nbsp3_res.Label = str(n) self.pbar.ProgressValue += 1 self.nbsp.State = False self._switchCheckBox(self.nbsp) self.pbar.ProgressValue = 15 - # espaces manquants + # points médians if self.typo.State: if self.typo6.State: n = self._replaceText(xElem, "\\bN\\.([ms])\\b", "N·$1", True, True) # N·m et N·m-1, N·s n += self._replaceText(xElem, "\\bW\\.h\\b", "W·h", True, True) n += self._replaceText(xElem, "\\bPa\\.s\\b", "Pa·s", True, True) @@ -597,22 +599,23 @@ #n += self._replaceText(xElem, "\\bW.m-1.K-1\\b", "W·m-1·K-1", True, True) #n += self._replaceText(xElem, "\\bW.m-2.K-1\\b", "W·m-2·K-1", True, True) n += self._replaceText(xElem, "\\b(Y|Z|E|P|T|G|M|k|h|da|d|c|m|µ|n|p|f|a|z|y)Ω\\b", "$1Ω", True, True) self.typo6_res.Label = str(n) self.pbar.ProgressValue += 1 + # espaces manquants if self.space.State: if self.space1.State: n = self._replaceText(xElem, ";(?=[:alnum:])", "; ", True) - n += self._replaceText(xElem, "\\?(?=[A-ZÉÈÊÂÀÎ])", "? ", True) + n += self._replaceText(xElem, "\\?(?=[A-ZÉÈÊÂÀÎ])", "? ", True, True) n += self._replaceText(xElem, "!(?=[:alnum:])", "! ", True) n += self._replaceText(xElem, "…(?=[:alnum:])", "… ", True) n += self._replaceText(xElem, "\\.(?=[A-ZÉÈÎ][:alpha:])", ". ", True, True) n += self._replaceText(xElem, "\\.(?=À)", ". ", True, True) n += self._replaceText(xElem, ",(?=[:alpha:])", ", ", True) n += self._replaceText(xElem, "([:alpha:]),([0-9])", "$1, $2", True) n += self._replaceText(xElem, ":(?=[:alpha:])", ": ", True) - # exceptions: + # réparations n -= self._replaceText(xElem, "(?<=DnT), w\\b", ",w", True, True) n -= self._replaceText(xElem, "(?<=DnT), A\\b", ",A", True, True) self.space1_res.Label = str(n) self.pbar.ProgressValue += 1 if self.space2.State: