diff --git a/fconv b/fconv index ecff0b1..50a71f2 100755 --- a/fconv +++ b/fconv @@ -36,6 +36,8 @@ COMMANDES crlf cr Convertir respectivement les caractères de fin de ligne en LF, CR/LF ou CR + lc, latin1compat + Transformer certains caratères UTF-8 en équivalents qui existent en Latin1 n, noaccents Transformer les caractères accentués en caractères non accentués" } @@ -129,8 +131,8 @@ function parse_cmd() { lf) echo _nl2lf;; crlf) echo _nl2crlf;; cr) echo _nl2cr;; - noaccents|noa|n|fixchars) - echo _noaccents;; + latin1compat|lc) echo _latin1compat;; + noaccents|noa|n|fixchars) echo _noaccents;; *) echo "$cmd: commande invalide" return 1 diff --git a/fnconv b/fnconv index b6a0dcb..7ecff7f 100755 --- a/fnconv +++ b/fnconv @@ -32,6 +32,8 @@ COMMANDES Equivalent à conv utf8 src_enc latin1 [src_enc] Equivalent à conv latin1 src_enc + lc, latin1compat + Transformer certains caratères UTF-8 en équivalents qui existent en Latin1 n, noaccents Transformer les caractères accentués en caractères non accentués l, lowercase @@ -146,6 +148,7 @@ function parse_cmd() { qvals iconv -f "$from" -t "$to" "$@" fi ;; + latin1compat|lc) echo _latin1compat;; noaccents|noa|n|fixchars) echo _noaccents;; lowercase|lower|l) echo _lowercase;; uppercase|upper|u) echo _uppercase;; diff --git a/lib/ulib/.ulibver b/lib/ulib/.ulibver index 7f68b36..dfdd991 100644 --- a/lib/ulib/.ulibver +++ b/lib/ulib/.ulibver @@ -1 +1 @@ -005000000 +005001000 diff --git a/lib/ulib/base b/lib/ulib/base index 3dcb429..2b25481 100644 --- a/lib/ulib/base +++ b/lib/ulib/base @@ -1151,6 +1151,15 @@ function _nl2cr() { function nl2cr() { doinplace "$1" _nl2cr } +function _latin1compat() { +# transformer certains caractères UTF-8 en leur équivalent UTF-8 transformable +# en latin1. + LANG=fr_FR.UTF-8 sed $' +s/[’]/\x27/g +s/[«»]/"/g +s/[\xC2\xA0\xE2\x80\x87\xE2\x80\xAF\xE2\x81\xA0]/ /g +' +} function _noaccents() { # supprimer les accents d'un flux en UTF-8 LANG=fr_FR.UTF-8 sed '