martlem 2 days ago
commit
124cde8f59
  1. 252
      foqu.sh
  2. 114
      lisezmoi
  3. 6762
      tableau
  4. 90
      tableau.sh

252
foqu.sh

@ -0,0 +1,252 @@
#!/bin/sh
# foqu.sh
# LICENSE CC4R
# un outil qui sémantise l'écriture inclusive à point médian dans un document html
# Exemple : créateur·ices → créat<q><t>eur</t><t>ice</t></q>s
# le programme a été ré-écrit par le programme tableau.sh le mardi 03 décembre 2024 à 05h17
sed \
-e 's eur·ices <q data-u="U+F4B20"><t>eur</t><t>ices</t></q> g' \
-e 's EUR˙ICES <q data-u="U+F4A20"><t>EUR</t><t>ICES</t></q> g' \
-e 's du·de la <q data-u="U+F1730"><t>du</t><t>de la</t></q> g' \
-e 's DU˙DE LA <q data-u="U+F1630"><t>DU</t><t>DE LA</t></q> g' \
-e 's eur·ice <q data-u="U+F4B10"><t>eur</t><t>ice</t></q> g' \
-e 's EUR˙ICE <q data-u="U+F4A10"><t>EUR</t><t>ICE</t></q> g' \
-e 's au·à la <q data-u="U+F1150"><t>au</t><t>à la</t></q> g' \
-e 's au·à la <q data-u="U+F1150"><t>à la</t><t>au</t></q> g' \
-e 's AU˙À LA <q data-u="U+F1050"><t>AU</t><t>À LA</t></q> g' \
-e 's AU˙À LA <q data-u="U+F1050"><t>À LA</t><t>AU</t></q> g' \
-e 's x·sses <q data-u="U+F57F0"><t>x</t><t>sses</t></q> g' \
-e 's X˙SSES <q data-u="U+F56F0"><t>X</t><t>SSES</t></q> g' \
-e 's x·lles <q data-u="U+F5790"><t>x</t><t>lles</t></q> g' \
-e 's X˙LLES <q data-u="U+F5690"><t>X</t><t>LLES</t></q> g' \
-e 's u·lles <q data-u="U+F5180"><t>u</t><t>lles</t></q> g' \
-e 's U˙LLES <q data-u="U+F5080"><t>U</t><t>LLES</t></q> g' \
-e 's s·lles <q data-u="U+F47F0"><t>s</t><t>lles</t></q> g' \
-e 's S˙LLES <q data-u="U+F46F0"><t>S</t><t>LLES</t></q> g' \
-e 's r·ices <q data-u="U+F45A0"><t>r</t><t>ices</t></q> g' \
-e 's R˙ICES <q data-u="U+F44A0"><t>R</t><t>ICES</t></q> g' \
-e 's o·ïnes <q data-u="U+F3990"><t>o</t><t>ïnes</t></q> g' \
-e 's o·ïnes <q data-u="U+F3990"><t>o</t><t>ines</t></q> g' \
-e 's O˙ÏNES <q data-u="U+F3890"><t>O</t><t>ÏNES</t></q> g' \
-e 's O˙ÏNES <q data-u="U+F3890"><t>O</t><t>INES</t></q> g' \
-e 's e·sses <q data-u="U+F19D0"><t>e</t><t>sses</t></q> g' \
-e 's E˙SSES <q data-u="U+F18D0"><t>E</t><t>SSES</t></q> g' \
-e 's c·ques <q data-u="U+F1570"><t>c</t><t>ques</t></q> g' \
-e 's C˙QUES <q data-u="U+F1470"><t>C</t><t>QUES</t></q> g' \
-e 's x·sse <q data-u="U+F57E0"><t>x</t><t>sse</t></q> g' \
-e 's X˙SSE <q data-u="U+F56E0"><t>X</t><t>SSE</t></q> g' \
-e 's x·ses <q data-u="U+F57C0"><t>x</t><t>ses</t></q> g' \
-e 's X˙SES <q data-u="U+F56C0"><t>X</t><t>SES</t></q> g' \
-e 's x·lle <q data-u="U+F5780"><t>x</t><t>lle</t></q> g' \
-e 's X˙LLE <q data-u="U+F5680"><t>X</t><t>LLE</t></q> g' \
-e 's x·les <q data-u="U+F5760"><t>x</t><t>les</t></q> g' \
-e 's X˙LES <q data-u="U+F5660"><t>X</t><t>LES</t></q> g' \
-e 's x·ces <q data-u="U+F5730"><t>x</t><t>ces</t></q> g' \
-e 's X˙CES <q data-u="U+F5630"><t>X</t><t>CES</t></q> g' \
-e 's u·lle <q data-u="U+F5170"><t>u</t><t>lle</t></q> g' \
-e 's U˙LLE <q data-u="U+F5070"><t>U</t><t>LLE</t></q> g' \
-e 's t·tes <q data-u="U+F4990"><t>t</t><t>tes</t></q> g' \
-e 's T˙TES <q data-u="U+F4890"><t>T</t><t>TES</t></q> g' \
-e 's s·tes <q data-u="U+F47E0"><t>s</t><t>tes</t></q> g' \
-e 's S˙TES <q data-u="U+F46E0"><t>S</t><t>TES</t></q> g' \
-e 's s·ses <q data-u="U+F47B0"><t>s</t><t>ses</t></q> g' \
-e 's S˙SES <q data-u="U+F46B0"><t>S</t><t>SES</t></q> g' \
-e 's s·lle <q data-u="U+F4780"><t>s</t><t>lle</t></q> g' \
-e 's S˙LLE <q data-u="U+F4680"><t>S</t><t>LLE</t></q> g' \
-e 's s·ces <q data-u="U+F4730"><t>s</t><t>ces</t></q> g' \
-e 's S˙CES <q data-u="U+F4630"><t>S</t><t>CES</t></q> g' \
-e 's r·ses <q data-u="U+F45E0"><t>r</t><t>ses</t></q> g' \
-e 's R˙SES <q data-u="U+F44E0"><t>R</t><t>SES</t></q> g' \
-e 's r·ice <q data-u="U+F4590"><t>r</t><t>ice</t></q> g' \
-e 's R˙ICE <q data-u="U+F4490"><t>R</t><t>ICE</t></q> g' \
-e 's o·tes <q data-u="U+F3960"><t>o</t><t>tes</t></q> g' \
-e 's O˙TES <q data-u="U+F3860"><t>O</t><t>TES</t></q> g' \
-e 's o·ïne <q data-u="U+F3980"><t>o</t><t>ïne</t></q> g' \
-e 's o·ïne <q data-u="U+F3980"><t>o</t><t>ine</t></q> g' \
-e 's O˙ÏNE <q data-u="U+F3880"><t>O</t><t>ÏNE</t></q> g' \
-e 's O˙ÏNE <q data-u="U+F3880"><t>O</t><t>INE</t></q> g' \
-e 's n·nes <q data-u="U+F3760"><t>n</t><t>nes</t></q> g' \
-e 's N˙NES <q data-u="U+F3660"><t>N</t><t>NES</t></q> g' \
-e 's l·les <q data-u="U+F3340"><t>l</t><t>les</t></q> g' \
-e 's L˙LES <q data-u="U+F3240"><t>L</t><t>LES</t></q> g' \
-e 's ho·fe <q data-u="U+F2520"><t>ho</t><t>fe</t></q> g' \
-e 's HO˙FE <q data-u="U+F2420"><t>HO</t><t>FE</t></q> g' \
-e 's g·ues <q data-u="U+F2330"><t>g</t><t>ues</t></q> g' \
-e 's G˙UES <q data-u="U+F2230"><t>G</t><t>UES</t></q> g' \
-e 's f·ves <q data-u="U+F2170"><t>f</t><t>ves</t></q> g' \
-e 's F˙VES <q data-u="U+F2070"><t>F</t><t>VES</t></q> g' \
-e 's f·fes <q data-u="U+F2140"><t>f</t><t>fes</t></q> g' \
-e 's F˙FES <q data-u="U+F2040"><t>F</t><t>FES</t></q> g' \
-e 's e·tte <q data-u="U+F1980"><t>e</t><t>tte</t></q> g' \
-e 's E˙TTE <q data-u="U+F1880"><t>E</t><t>TTE</t></q> g' \
-e 's e·sse <q data-u="U+F19C0"><t>e</t><t>sse</t></q> g' \
-e 's E˙SSE <q data-u="U+F18C0"><t>E</t><t>SSE</t></q> g' \
-e 's c·que <q data-u="U+F1560"><t>c</t><t>que</t></q> g' \
-e 's C˙QUE <q data-u="U+F1460"><t>C</t><t>QUE</t></q> g' \
-e 's c·hes <q data-u="U+F1530"><t>c</t><t>hes</t></q> g' \
-e 's C˙HES <q data-u="U+F1430"><t>C</t><t>HES</t></q> g' \
-e 's x·ss <q data-u="U+F57D0"><t>x</t><t>ss</t></q> g' \
-e 's X˙SS <q data-u="U+F56D0"><t>X</t><t>SS</t></q> g' \
-e 's x·se <q data-u="U+F57B0"><t>x</t><t>se</t></q> g' \
-e 's X˙SE <q data-u="U+F56B0"><t>X</t><t>SE</t></q> g' \
-e 's x·ll <q data-u="U+F5770"><t>x</t><t>ll</t></q> g' \
-e 's X˙LL <q data-u="U+F5670"><t>X</t><t>LL</t></q> g' \
-e 's x·le <q data-u="U+F5750"><t>x</t><t>le</t></q> g' \
-e 's X˙LE <q data-u="U+F5650"><t>X</t><t>LE</t></q> g' \
-e 's x·ce <q data-u="U+F5720"><t>x</t><t>ce</t></q> g' \
-e 's X˙CE <q data-u="U+F5620"><t>X</t><t>CE</t></q> g' \
-e 's u·ll <q data-u="U+F5160"><t>u</t><t>ll</t></q> g' \
-e 's U˙LL <q data-u="U+F5060"><t>U</t><t>LL</t></q> g' \
-e 's u·es <q data-u="U+F5120"><t>u</t><t>es</t></q> g' \
-e 's U˙ES <q data-u="U+F5020"><t>U</t><t>ES</t></q> g' \
-e 's t·te <q data-u="U+F4980"><t>t</t><t>te</t></q> g' \
-e 's T˙TE <q data-u="U+F4880"><t>T</t><t>TE</t></q> g' \
-e 's t·es <q data-u="U+F4930"><t>t</t><t>es</t></q> g' \
-e 's T˙ES <q data-u="U+F4830"><t>T</t><t>ES</t></q> g' \
-e 's s·te <q data-u="U+F47D0"><t>s</t><t>te</t></q> g' \
-e 's S˙TE <q data-u="U+F46D0"><t>S</t><t>TE</t></q> g' \
-e 's s·se <q data-u="U+F47A0"><t>s</t><t>se</t></q> g' \
-e 's S˙SE <q data-u="U+F46A0"><t>S</t><t>SE</t></q> g' \
-e 's s·ll <q data-u="U+F4770"><t>s</t><t>ll</t></q> g' \
-e 's S˙LL <q data-u="U+F4670"><t>S</t><t>LL</t></q> g' \
-e 's s·es <q data-u="U+F4750"><t>s</t><t>es</t></q> g' \
-e 's S˙ES <q data-u="U+F4650"><t>S</t><t>ES</t></q> g' \
-e 's s·ce <q data-u="U+F4720"><t>s</t><t>ce</t></q> g' \
-e 's S˙CE <q data-u="U+F4620"><t>S</t><t>CE</t></q> g' \
-e 's r·se <q data-u="U+F45D0"><t>r</t><t>se</t></q> g' \
-e 's R˙SE <q data-u="U+F44D0"><t>R</t><t>SE</t></q> g' \
-e 's r·ic <q data-u="U+F4580"><t>r</t><t>ic</t></q> g' \
-e 's R˙IC <q data-u="U+F4480"><t>R</t><t>IC</t></q> g' \
-e 's r·es <q data-u="U+F4560"><t>r</t><t>es</t></q> g' \
-e 's R˙ES <q data-u="U+F4460"><t>R</t><t>ES</t></q> g' \
-e 's o·te <q data-u="U+F3950"><t>o</t><t>te</t></q> g' \
-e 's O˙TE <q data-u="U+F3850"><t>O</t><t>TE</t></q> g' \
-e 's on·a <q data-u="U+F3910"><t>on</t><t>a</t></q> g' \
-e 's ON˙A <q data-u="U+F3810"><t>ON</t><t>A</t></q> g' \
-e 's n·ne <q data-u="U+F3750"><t>n</t><t>ne</t></q> g' \
-e 's N˙NE <q data-u="U+F3650"><t>N</t><t>NE</t></q> g' \
-e 's n·es <q data-u="U+F3730"><t>n</t><t>es</t></q> g' \
-e 's N˙ES <q data-u="U+F3630"><t>N</t><t>ES</t></q> g' \
-e 's l·ui <q data-u="U+F3360"><t>l</t><t>ui</t></q> g' \
-e 's L˙UI <q data-u="U+F3260"><t>L</t><t>UI</t></q> g' \
-e 's l·le <q data-u="U+F3330"><t>l</t><t>le</t></q> g' \
-e 's L˙LE <q data-u="U+F3230"><t>L</t><t>LE</t></q> g' \
-e 's i·es <q data-u="U+F2730"><t>i</t><t>es</t></q> g' \
-e 's I˙ES <q data-u="U+F2630"><t>I</t><t>ES</t></q> g' \
-e 's i·el <q data-u="U+F2720"><t>i</t><t>el</t></q> g' \
-e 's I·el <q data-u="U+F2670"><t>I</t><t>el</t></q> g' \
-e 's I˙EL <q data-u="U+F2620"><t>I</t><t>EL</t></q> g' \
-e 's ho·f <q data-u="U+F2510"><t>ho</t><t>f</t></q> g' \
-e 's HO˙F <q data-u="U+F2410"><t>HO</t><t>F</t></q> g' \
-e 's g·ue <q data-u="U+F2320"><t>g</t><t>ue</t></q> g' \
-e 's G˙UE <q data-u="U+F2220"><t>G</t><t>UE</t></q> g' \
-e 's f·ve <q data-u="U+F2160"><t>f</t><t>ve</t></q> g' \
-e 's F˙VE <q data-u="U+F2060"><t>F</t><t>VE</t></q> g' \
-e 's f·fe <q data-u="U+F2130"><t>f</t><t>fe</t></q> g' \
-e 's F˙FE <q data-u="U+F2030"><t>F</t><t>FE</t></q> g' \
-e 's e·ux <q data-u="U+F19B0"><t>e</t><t>ux</t></q> g' \
-e 's E˙UX <q data-u="U+F18B0"><t>E</t><t>UX</t></q> g' \
-e 's e·tt <q data-u="U+F1970"><t>e</t><t>tt</t></q> g' \
-e 's E˙TT <q data-u="U+F1870"><t>E</t><t>TT</t></q> g' \
-e 's e·ss <q data-u="U+F19E0"><t>e</t><t>ss</t></q> g' \
-e 's E˙SS <q data-u="U+F18E0"><t>E</t><t>SS</t></q> g' \
-e 's è·es <q data-u="U+F1930"><t>è</t><t>es</t></q> g' \
-e 's d·es <q data-u="U+F1720"><t>d</t><t>es</t></q> g' \
-e 's D˙ES <q data-u="U+F1620"><t>D</t><t>ES</t></q> g' \
-e 's c·qu <q data-u="U+F1550"><t>c</t><t>qu</t></q> g' \
-e 's C˙QU <q data-u="U+F1450"><t>C</t><t>QU</t></q> g' \
-e 's c·he <q data-u="U+F1520"><t>c</t><t>he</t></q> g' \
-e 's C˙HE <q data-u="U+F1420"><t>C</t><t>HE</t></q> g' \
-e 's a·on <q data-u="U+F1140"><t>a</t><t>on</t></q> g' \
-e 's A˙ON <q data-u="U+F1040"><t>A</t><t>ON</t></q> g' \
-e 's r·i <q data-u="U+F4570"><t>r</t><t>ri</t></q> g' \
-e 's R˙I <q data-u="U+F4470"><t>R</t><t>RI</t></q> g' \
-e 's x·s <q data-u="U+F57A0"><t>x</t><t>s</t></q> g' \
-e 's X˙S <q data-u="U+F56A0"><t>X</t><t>S</t></q> g' \
-e 's x·l <q data-u="U+F5740"><t>x</t><t>l</t></q> g' \
-e 's X˙L <q data-u="U+F5640"><t>X</t><t>L</t></q> g' \
-e 's x·c <q data-u="U+F5710"><t>x</t><t>c</t></q> g' \
-e 's X˙C <q data-u="U+F5610"><t>X</t><t>C</t></q> g' \
-e 's u·l <q data-u="U+F5150"><t>u</t><t>l</t></q> g' \
-e 's U˙L <q data-u="U+F5050"><t>U</t><t>L</t></q> g' \
-e 's u·e <q data-u="U+F5110"><t>u</t><t>e</t></q> g' \
-e 's U˙E <q data-u="U+F5010"><t>U</t><t>E</t></q> g' \
-e 's t·t <q data-u="U+F4970"><t>t</t><t>t</t></q> g' \
-e 's T˙T <q data-u="U+F4870"><t>T</t><t>T</t></q> g' \
-e 's t·e <q data-u="U+F4910"><t>t</t><t>e</t></q> g' \
-e 's T˙E <q data-u="U+F4810"><t>T</t><t>E</t></q> g' \
-e 's s·t <q data-u="U+F47C0"><t>s</t><t>t</t></q> g' \
-e 's S˙T <q data-u="U+F46C0"><t>S</t><t>T</t></q> g' \
-e 's s·s <q data-u="U+F4790"><t>s</t><t>s</t></q> g' \
-e 's s·l <q data-u="U+F4760"><t>s</t><t>l</t></q> g' \
-e 's S˙L <q data-u="U+F4660"><t>S</t><t>L</t></q> g' \
-e 's s·e <q data-u="U+F4740"><t>s</t><t>e</t></q> g' \
-e 's S˙E <q data-u="U+F4640"><t>S</t><t>E</t></q> g' \
-e 's s·c <q data-u="U+F4710"><t>s</t><t>c</t></q> g' \
-e 's S˙C <q data-u="U+F4610"><t>S</t><t>C</t></q> g' \
-e 's r·s <q data-u="U+F45C0"><t>r</t><t>s</t></q> g' \
-e 's R˙S <q data-u="U+F44C0"><t>R</t><t>S</t></q> g' \
-e 's r·i <q data-u="U+F4570"><t>r</t><t>i</t></q> g' \
-e 's R˙I <q data-u="U+F4470"><t>R</t><t>I</t></q> g' \
-e 's r·e <q data-u="U+F4510"><t>r</t><t>e</t></q> g' \
-e 's R˙E <q data-u="U+F4410"><t>R</t><t>E</t></q> g' \
-e 's p·m <q data-u="U+F4110"><t>p</t><t>m</t></q> g' \
-e 's P˙M <q data-u="U+F4010"><t>P</t><t>M</t></q> g' \
-e 's p·e <q data-u="U+F4130"><t>p</t><t>e</t></q> g' \
-e 's p·e <q data-u="U+F4120"><t>p</t><t>e</t></q> g' \
-e 's P˙E <q data-u="U+F4030"><t>P</t><t>E</t></q> g' \
-e 's P˙E <q data-u="U+F4020"><t>P</t><t>E</t></q> g' \
-e 's o·t <q data-u="U+F3940"><t>o</t><t>t</t></q> g' \
-e 's O˙T <q data-u="U+F3840"><t>O</t><t>T</t></q> g' \
-e 's o·ï <q data-u="U+F3970"><t>o</t><t>ï</t></q> g' \
-e 's o·ï <q data-u="U+F3970"><t>o</t><t>i</t></q> g' \
-e 's O˙Ï <q data-u="U+F3870"><t>O</t><t>Ï</t></q> g' \
-e 's O˙Ï <q data-u="U+F3870"><t>O</t><t>I</t></q> g' \
-e 's o·f <q data-u="U+F3920"><t>o</t><t>f</t></q> g' \
-e 's O˙F <q data-u="U+F3820"><t>O</t><t>F</t></q> g' \
-e 's n·n <q data-u="U+F3740"><t>n</t><t>n</t></q> g' \
-e 's N˙N <q data-u="U+F3640"><t>N</t><t>N</t></q> g' \
-e 's n·e <q data-u="U+F3720"><t>n</t><t>e</t></q> g' \
-e 's N˙E <q data-u="U+F3620"><t>N</t><t>E</t></q> g' \
-e 's m·p <q data-u="U+F3510"><t>m</t><t>p</t></q> g' \
-e 's M˙P <q data-u="U+F3410"><t>M</t><t>P</t></q> g' \
-e 's l·u <q data-u="U+F3350"><t>l</t><t>u</t></q> g' \
-e 's L˙U <q data-u="U+F3250"><t>L</t><t>U</t></q> g' \
-e 's l·l <q data-u="U+F3320"><t>l</t><t>l</t></q> g' \
-e 's L˙L <q data-u="U+F3220"><t>L</t><t>L</t></q> g' \
-e 's l·e <q data-u="U+F3310"><t>l</t><t>e</t></q> g' \
-e 's L˙E <q data-u="U+F3210"><t>L</t><t>E</t></q> g' \
-e 's i·e <q data-u="U+F2710"><t>i</t><t>e</t></q> g' \
-e 's I˙e <q data-u="U+F2660"><t>I</t><t>e</t></q> g' \
-e 's I˙E <q data-u="U+F2610"><t>I</t><t>E</t></q> g' \
-e 's I˙E <q data-u="U+F2610"><t>I</t><t>e</t></q> g' \
-e 's g·u <q data-u="U+F2310"><t>g</t><t>u</t></q> g' \
-e 's G˙U <q data-u="U+F2210"><t>G</t><t>U</t></q> g' \
-e 's f·v <q data-u="U+F2150"><t>f</t><t>v</t></q> g' \
-e 's F˙V <q data-u="U+F2050"><t>F</t><t>V</t></q> g' \
-e 's e·u <q data-u="U+F19A0"><t>e</t><t>u</t></q> g' \
-e 's E˙U <q data-u="U+F18A0"><t>E</t><t>U</t></q> g' \
-e 's e·t <q data-u="U+F1960"><t>e</t><t>t</t></q> g' \
-e 's E˙T <q data-u="U+F1860"><t>E</t><t>T</t></q> g' \
-e 's e·s <q data-u="U+F1950"><t>e</t><t>s</t></q> g' \
-e 's E˙S <q data-u="U+F1850"><t>E</t><t>S</t></q> g' \
-e 's è·e <q data-u="U+F1920"><t>è</t><t>e</t></q> g' \
-e 's è˙e <q data-u="U+F1830"><t>è</t><t>e</t></q> g' \
-e 's È˙E <q data-u="U+F1820"><t>È</t><t>E</t></q> g' \
-e 's e·a <q data-u="U+F1910"><t>e</t><t>a</t></q> g' \
-e 's E˙A <q data-u="U+F1810"><t>E</t><t>A</t></q> g' \
-e 's d·e <q data-u="U+F1710"><t>d</t><t>e</t></q> g' \
-e 's D˙E <q data-u="U+F1610"><t>D</t><t>E</t></q> g' \
-e 's c·q <q data-u="U+F1540"><t>c</t><t>q</t></q> g' \
-e 's C˙Q <q data-u="U+F1440"><t>C</t><t>Q</t></q> g' \
-e 's c·h <q data-u="U+F1510"><t>c</t><t>h</t></q> g' \
-e 's C˙H <q data-u="U+F1410"><t>C</t><t>H</t></q> g' \
-e 's a·o <q data-u="U+F1130"><t>a</t><t>o</t></q> g' \
-e 's A˙O <q data-u="U+F1030"><t>A</t><t>O</t></q> g' \
-e 's a·e <q data-u="U+F1110"><t>a</t><t>e</t></q> g' \
-e 's A˙E <q data-u="U+F1010"><t>A</t><t>E</t></q> g' \
-e 's S˙S <q data-u="U+4690"><t>S</t><t>S</t></q> g'

114
lisezmoi

@ -0,0 +1,114 @@
foqu (faux-quni) est un outil qui converti l'écriture avec des points médians
vers un formatage en html dont les différentes expressions de genre notées
<t></t> s'insèrent dans une balise <q></q>.
foqu sémantise l'écriture inclusive par point médiant en insérant les <t>erminaisons dans le <q>.
les détracteur·ice du point médian l'ont dans le <q>.
Par exemple :
$ foqu "<p>Les détracteur·ices du point médian l'ont dans le &lt;/q&gt;.<p>"
<p>Les détract<q><t>rice</t><t>eur</t></q>s du point médian l'ont dans le &lt;/q&gt;.</p>
Qu'iels se mettent leur
la·e juge blond·e hume, les détracteur·ices du point médian sentent le </q>
juge blonde, hume ce <q> de détracteur·ice de point médian.
portez ce vieux <q> du·de la détracteur·ice de point médian au·à la juge blond·e qui hume
Allez-y, portez ce vieux <q> du·de la détracteur·ice de point médian au·à la juge blond·e qui hume
Portez ce vieux &lt;/q&gt; de détracteur·ice des inclusif·ves au·à la juge blond·e woippycien·ne qui hume.
, _ /
/|/ \ _ ,_ _|_ _ __ _ _ o _ / /_, \ _| _ _| __|_ ,_ _, _ _|_ _ ,_ o _ _ _| _ , o _ |\ , o |\ _
|__// \_/ | | |/ / / _ / |/ | |_| |/ | | /\/ < // | > / | |/ / | |/ | / | / | / | |/ | | / | O | / |/ / | |/ / \_ | /|/| / |/ | | / \_| |/ O | |_|/
| \_/ |/|_/|_/ /_/ \__/|_/ \/ |/|_/ \/|_/ /\/ \/ \/|_// \/|_/|_/ \/|_/|_/|_/ |/\/|_/\__/|_/|_/ \/|_/ |/ |/\__/|_/ \/|_/|_/ \/ |/ | |_/\__/|_/ \/|_/ \/ |/|_/ \/ |_/
(| |) |)
\
, _, _, |\ _, o _, _ |) |\ _ _| _ _ o _ o _ _ _, o |) _
/ \_ / | | | O / | |/ / | | | | / | |/ |/\_|/ / \_/|/| / | O |/ | | |_/ \_| |/\_|/\_| | / | |/ /|/| O /|/| |/ / | | | | |/\ | | /|/|/| |/
\/ \/|_/ \/|_/ \/|_/ |_/\/|_/ |/ \/|_/\/|/|_/ \/ |_/\_/ | |_/\/|_/ |_/ \/ \/ \_/ |/|_/ |_/ \/|/\__/|/|_/ | |_/ | |_/|_/ \/|_/ \/|_/|/ | |/ \/|_/ | | |_/|_/o
(| (| (| (| (| |)
Exemple avec le pangramme suivant
Portez ce vieux &lt;/q&gt; du·de la détracteur·ice de l'inclusif·ve au·à la juge blond·e woippycien·ne qui hume.
Portez ce vieux &lt;/q&gt; <q><t>du</t><t>de la</t></q> détract<q><t>eur</t><t>ice</t></q> de l'inclusif·ve <q><t>au</t><t>à la</t></q> juge blond<q><t>e</t></q> woippycien<q><t>ne</t></q> qui hume.
les détracteurices du point médian claquent du </q>.
que les détracteurices du point médian touchent à leur </q>.
l'avenir leur fait mal au <q>
_, _ ,_ o _ _
/ | |/ / / | | / |/
|\ \/| o _, _ |) |\ _ _||_/ |) _ |\ _ , _| __|_ ,_ _, _ _|_/ |/|/\__/|_/,
|/ _ | | | / | |/ |/\_|/ / \_/|/| / | |/\ | | /|/|/| |/ |/ |/ / \_ / | |/ | / | / | / | _ ,_ / \_
|_/|/ |/ \/|_/\/|/|_/ \/ |_/\_/ | |_/\/|_/ | |/ \/|_/ | | |_/|_/o |_/|_/ \/ \/|_/|_/|_/ |/\/|_/\__/|_|/ | | / |/ \/
|_/ (| (| / |_/ \/|_/ |
/
_| _ o _|_ _ _| o _, , _ _|_ _ _|_ |\ _ / /_, \
/ | | | |/\_/ \_| /|/| | /|/|/| |/ / | | / | /|/| / \_|/ /|/| | |/ /|/| | |/ |/ < // | >
\/|_/ \/|_/ |_/ \_/ |/ | |_/|_/ | | |_/|_/\/|_/|/\/|_/ | |_/ \/ |_/ | |_/|_/|_/ | |_/|_/ |_/|_/ \/ \/|_//
(| |)
avec un peu de css lu par un·e navigateur·ice, on peut lire quelque chose comme :
,_ o _ _
/ / | | / |/
\_|) _ , _| __|_ ,_ _, _ _|_/ |/|/\__/|_/,
| |/ / \_ / | |/ | / | / | / | _ ,_ / \_
(\__/|_/ \/ \/|_/|_/|_/ |/\/|_/\__/|_|/ | | / |/ \/
|_/ \/|_/ |
/
_| _ o _|_ _ _| o _,
/ | | | |/\_/ \_| /|/| | /|/|/| |/ / | | / | /|/|
\/|_/ \/|_/ |_/ \_/ |/ | |_/|_/ | | |_/|_/\/|_/|/\/|_/ | |_/
(|
|\ / _ _|_ _| _, , |\ _ / /_, \
|/ / \_/|/| | / | / | /|/| / \_ |/ |/ < // | >
|_/ \_/ | |_/|_/ \/|_/\/|_/ | |_/ \/ |_/|_/ \ / \/|_ / o
|)
on peut aussi fournir à foqu un fichier html :
$ foqu texte.html
En serrant l'interligne entre les terminaisons, on obtient des ligatures faites avec le <q>.
foqu utilise comme source et dictionnaire de substitutions les tableaux QUNI disponibles ici.
https://typotheque.byebyebinary.space/fr/quni/tableau
Note sur l'invention de nouvelles balises
HTML est un standard qui évolue, en 30 ans plusieurs versions se sont succédés,
c'est un enfant / il fait partie de la grande famille des langages xml
quelle accessibilité
foqu peut être :
Une alternative au point médian pour un texte imprimé et·ou sur un écran composé dans un caractère qui n'aurait pas encore de glyphes post-binaires.
Une expérimentation typographique et sémantique. Les terminaisons étant indiquées dans la sémantique du document html, s'ouvre la possibilité de les rendre visible par du css et du javascript.
Une porte d'entrée vers le shell et la programmation unix.
foqu n'est pas :
une substitution au travail d'un·e typographe compétent·e.
Cet outil vise à réparer les polices de caractères pre-post-binaire, il ne prétend pas remplacer le travail d'un·e typographe. Il permet de
limitations :
problème d'accessibilité à la selection
la césure dans le mot entre le début et les terminaisons complexe à empêcher, à moins de l'emballer dans un tag <inclusif></inclusif> ?
Poursuites :
Une réécriture en javascript sous forme de plugin qui converti l'écriture sur des pages à la volée
une interface web qui permet d'alterner les terminaisons fondues ou non
Cette première version est écrite en shell par appétence pour ce langage, on peut imaginer une version en javascript qui convertirait le contenu des pages que l'on navigue.
Installation :
Utilisation :
Si le point médian est décrit par deux points : «..», alors on passera d'abord le texte dans la·e parseur·se pp2pm :
pp2pm | quni2html
Foqu peut s'utiliser de différentes manières, on peut lui donner un texte brut

6762
tableau

File diff suppressed because it is too large

90
tableau.sh

@ -0,0 +1,90 @@
#!/bin/sh
# Écriture du dictionnaire de substitutions de foqu à
# partir du tableau QUNI et de ses substitutions opentype
# nom des balises et de l'attribut QUNI correspondant
Q="q"
T="t"
U="u"
# note sur le symbole «|» : un pipe, ou tuyau permet de rediriger la sortie d'un programme dans l'entrée du suivant.
# la fonction dictionnaire ci-dessous est construite sur ce principe
dictionnaire () {
# télécharge le tableau QUNI et enregistre le dans un fichier qui s'appelle tableau
# curl -O https://typotheque.byebyebinary.space/fr/quni/tableau
# ne conserve que le texte contenu dans les div avec une classe ligne contenue dans l'élément avec un id ligature
cat tableau | htmlq main "#ligature" div.ligne --text |
# retire les espaces au début des lignes
sed 's/^[[:space:]]*//' |
# ne garde que les lignes qui commencent par «sub» ou qui contiennent «U+»
grep -E "^sub|U\+" |
# exclue les lignes qui contiennent «Unicode», «masc», «fem», «nb» ou des parenthèses
grep -vE "Unicode|masc|fem|nb|\(|\)" |
# remplace «;» par deux retours à la ligne
sed 's/;/\n\n/g' |
# efface les lignes vides
sed '/^$/d' |
# avant une ligne qui commence par «U+», ajoute un retour à la ligne
sed 's/^U+/\nU+/g' |
# retire «by» et ce qu'il y a après
sed 's/ by.*//g' |
# retire les espaces
sed 's/[[:space:]]//g' |
# remplace les noms ascii des diacritiques, espaces et points médians par leurs symboles unicode
sed -e 's/eacute/è/g' \
-e 's/Eacute/È/g' \
-e 's/aacute/á/g' \
-e 's/Aacute/Á/g' \
-e 's/agrave/à/g' \
-e 's/Agrave/À/g' \
-e 's/egrave/è/g' \
-e 's/Egrave/È/g' \
-e 's/idieresis/ï/g' \
-e 's/Idieresis/Ï/g' \
-e 's/space/ /g' \
-e 's/periodcentered.case/˙/' \
-e 's/periodcentered/·/' |
# retire les déclarations de substitutions opentype «sub» qui restent en début de ligne
sed 's/^sub//g' |
# remplace un seul retour à la ligne par une tabulation, mais pas deux
awk 'BEGIN {RS=""; ORS="\n\n"} {gsub(/\n/, "\t"); print}' |
# crée le dictionnaire de substitution sed en bouclant à partir du deuxième champ de chaque ligne
awk -v Q="$Q" -v T="$T" -v U="$U" -F'\t' '{
for (i = 2; i <= NF; i++){
split($i, term, "·|˙")
printf "-e '\''s\t%s\t<%s data-%s=\"%s\">", $2, Q, U, $1
for (t = 1; t <= length(term); t++){
printf "<%s>%s</%s>", T, term[t], T
}
printf "</%s>\tg'\'' \\\n", Q
}
}' |
# trie les substitutions pour les appliquer des plus longues aux plus courtes
awk '{ print length($0) " " $0; }'| sort -r -n | cut -d ' ' -f 2- |
# enlève la dernière barre oblique inversée «\» de la dernière ligne
sed '${s/ \\$//}'
}
cat << % > foqu
#!/bin/sh
#·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·
#
# Un outil qui sémantise l'écriture inclusive à point médian dans un document html
#
# Exemple :
# cat texte.html | foqu > texte-foqu.html
# <p>créateur·ices</p> → <p>créat<q><t>eur</t><t>ice</t></q>s</p>
#
# S'utilise en avale d'une conversion vers l'html au risque de rencontrer des soucis.
# le programme a été ré-écrit par le programme tableau.sh le $(date '+%A %d %B %Y à %Hh%M').
# auteur·ices :
# Martin Lemaire
#
#·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·˙·
sed \\
$(dictionnaire)
%
Loading…
Cancel
Save