groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] new backend for UTF-8 output


From: Bruno Haible
Subject: Re: [Groff] new backend for UTF-8 output
Date: Tue, 11 Jan 2000 14:52:37 +0100 (MET)

Markus Kuhn writes:

> Does this mean that
> 
>   - groff will automatically make use of the correct U+2018/U+2019 single
>     left/right quotation marks in its UTF-8 output

Yes. The Postscript backend maps ` and ' to quoteleft and quoteright,
respectively, and the UTF-8 backend does the same thing: it maps ` and '
to U+2018 and U+2019, respectively.

>     and that all the
>     characters shown on "man 7 groff_char" are now mapped correctly?

All, except a few for which I found no Unicode equivalent.

>     Ideally, the characters that it would use in postscript output
>     should be mapped to Unicode precisely according to
> 
>        http://partners.adobe.com/asn/developer/typeforum/unicodegn.html

Thanks for the pointer. I'll double-check the consistency between the
Postscript backend and the UTF-8 backend using this list.

>   - Does man now produce automatically UTF-8 output when environment
>     variable LC_CTYPE (or if that does not exist than LANG) contains
>     the substring "UTF-8"?

It's not yet done, but that's the plan how it should work.

> Could you send me an example output of the new "groff -Tutf8" applied
> to the groff_char(7) manpage?

It's appended below.

> > > The behaviour of existing backends is not changed.
> 
> There is one simple detail that definitely should be changed for the old
> -Tascii and -Tlatin1 outputs:
> 
>   The characters ' and ` (apostophe and grave accent = 0x27 and 0x60) should
>   both be represented by ' (0x27) in the "ascii" and "latin1" output.

I agree with you in the case of the "ascii" output format. But for "latin1"
output, mapping these two characters to acute and grave accent is prettier,
I think.

                              Bruno


begin 644 groff_char.utf8.gz
M'XL("*LT>S@"`V=R;V9F7V-H87(N=71F.`#L76F3'%5V_5JA7Y'C)8"D0W3N
MF8#&;H0$'0.TK!;V,"":address@hidden:969(:VX3&QJC!8QOC\<address@hidden;PO>-_W
MB&[SB0CI/address@hidden>OP!_TQ0$=0JI^=?/D>^_><]Y]2R;GSIU[[NK!
MY<M'%Y_?N_JH]YB&/X>K:!*'B78Y3J*"?$.N.:=^7AJ]M#?:>W'TXJ71I7.U
MR3S/9K.CR2+,M<W)A\VO6O5K."FC7$O#952<._?LZ%EUQ>'H\.+HXM71U?W1
M_I71E6NC:^K#P>address@hidden:QJL`R3->J.JMP'FE)7)2%5BXBK2C#=!KF4VT^
MFN>C/!MEL]%,_='address@hidden&address@hidden)!PGD3;+
M\MI*FT8WXXGZM[)I$*JZC*,XG6O:NHBF6IEIJSQ.2V6BOL):WHJ31)EJT[A8
M)>%Q-#W?M2?2CD;[1Z/T:+0Z&JV/1J7Z?7(TRHY&TZ.1JEN6K)>I%JY62:SZ
M7MT!JZO=6L23A2H*TZHF;:WJYJI;ENJ;4-,*54'5COZZ'4UUE#:/;T9-Q^T?
M'address@hidden&6<;NY\8#08DVP::=FLZ0_6?^>;:JMZ7JGK6:A*'XT.ZVKG1Z.X;DE9
M?:\:%1Z-EE4[VH:T(;&]];JHNNA*5I2'DSQ>E74X-#=6_ZQ+>N-S?:?12FMI
address@hidden>G,=WPR598.31)6K,NVUT6N/
MUE<]IIJVIQR5J;OG[`[0ZXV/PZ)!4;;+(DJJ%K5]7M5]EB5)=JL*C>CV)%J5
M<9863VIOC-YHKB[4Y=KFSO=VM$=&CS0X6/address@hidden>%:LLG59`#ZQ/Y?W.
M^=FX#.-4Q6);%]4V=9N1^J]V>M74T:/A*'QS]&;K1PJK#)\_7BVB=$=[,4[7
M;1L/X[GZ^J.V5VWG,:AMJ"WJ"address@hidden;FM65VQNEX?J'I]\*!J
M7(N3:=3?U##=[JX-GKKUVTTW)6$^5_Z:)ZH>;6<,[Z::78[*>!2?APAJD/K;
M5O>]&.>3]7*61+>UO<E$A4A?A\#&AK_^E&IP<^\VK#^O`HO10G5]%\9'HX.&
M\3WUM8$8R"6?3;P6_:7:2%E$RO0<D6W&38UJ#ON^K6X5<)9U73L_*[6+5YNR
M5[O"[8?VQ[+H_2H6).$2D&P)R;[>?^B0;(;TYCHKH^DX`2Q'PG*N]Q\Z+(=A
MI>OE6#%(address@hidden:>[W_T*&Y#&address@hidden)2-[U_D.'Y#&address@hidden
address@hidden"JQ0W`>P0`(+KO<?.K!`ZOL\GB^@:O:address@hidden;C^T/TJ*62O5
M0)LFT0S!#`G,N-Y_Z,`,"8Q7S930S.O]AP[-Y+U65.TL;@"6%/IV%_IV'_HV
M#_U5TLEH;2D%OMT%OMT'OLT#?Y(MER$`]5%?_3Q7YU4_645SEFK&><.IE:VH
MQ\]T'CVIF8;V8GBL&4'`W5K]&.>:GX>2!?Y_U+=7NT[=?N@<P56C&>_`$Y)B
MV)UBV+UBV.Z0YW$&S+0EQ;`[Q;![Q;"Y8A1)6"QZ($?2"Z?3"Z?7"\<?1%F2
M0=L<22N<3BN<7BL<'E1%M(P9F"M)A=M)A=M+A<NE0D4<<,B55,+M5,+M5<+E
M*J$RP!!&#E<2"+<3"+<7")<+Q%SEFF4$8N]*^N!V^N#V^N!:`U&-BBH_!"Q)
M(]Q.(]Q>(URN$2&H7R#U4M#U4M#W4L![::PRRQM12:4YD/HJZ/HJZ/LJX'TU
address@hidden/@.IMX*NMX*^MP)+KAM3^D#JL:#KL:#OL6"@JMMTK_^DA1,Z_`92AA%T
M6A'T6A%PK5BG4R7)*I&/`$W2BZ#3BZ#7B\"5QE_J%L.4NK(N;7\&!5O)-ZVJ
M-P>address@hidden<T!;`+3'F``9IB-".1S*$:"<NF[,SVH6("*Z'-$5$-VRFE+4?PT\
M;(B:8H"6#`JVP*[19+?3[%:*B*:(:')$4T`T>>U$)[O<R:address@hidden>J<IE$S2`1
M3_2QRWWL"CYV[<E:34O3R3'B/=QDQ/PR&>EZE?I#((KK'$<D[$2&N)PAKL`0
MUQWGV8THI21V/1'0XX">address@hidden;8;KBW`^A_,%.'\:1WE4Q`7B!2)>P/$"
M`2^89*MC+C&>E*74I000"K:`WFZ63V<J\4G5U!\A17'address@hidden)TFT
MS-AX;'BBOGA<7SQ!7SPSR>;Q)$S2C""**N-QE?$$E?$LGA4;address@hidden'M<83]`8
MS\ZC>5SI5C1%1'$X\3A+/($EGK,,)SD)1$\DBL>)address@hidden)`XF*1)1YG
MB2>PQ/.J*>*R7VYK+$6>>)PGGL`3SR]O9<address@hidden
M`.J+=/$Y77R!+OYN.%F74?W7<$3V1=+XG#2^0!K?6*X1262*SYGB"TSQS568
MA_,\7"T04"2*SXGB"T3QK6;25S66A;<O$L;GA/$%POCV))address@hidden
M"VSQG2P5?2U2QN>4\07*^*Z2QF583-8)U49?)([/B>,+Q/&]K39R$?=%]OB<
M/;[`'M]7C5?SQ)S,[PP_>address@hidden/U*O6((#Y^H#RR"),9N",address@hidden,(
MLA/address@hidden&P&7G$"0G,#HYO%L&address@hidden@[BGEN8EL$2?.
M1L"5)Q"4)[#V:J5%-%%Q`JXX@:`X@;address@hidden@*M.(*A.X.S5DS-$$P4G
MX((3"((3N'M"MAB(:A-PM0D$M0F\O9S.H@)19`(N,H$@,H&_=PF1Q)$YX.0(
M!'($P<address@hidden:address@hidden<]<address@hidden:N*:*9',T4
MT,Q+4M"9NY8(:7%(2X"address@hidden";`]H"H+T_Z#]'1',address@hidden
M-)>CN0*:NR_WGR=">AS2$R"]?:G_?!'0YX"^`.A?*A<(%8A0`8<*!*C@)28H
MIB$2P^#$,`1B&+L'W+&&2`R#$\,0B&$8!]RQAD@,@Q/#$(AAF`>B8PWKH28M
M]I=)2]>KU"6"address@hidden,T,4%H,+BR$(B^$LUTD9KY)C
MQ!.EQ>address@hidden@';(W?-$15,;BJ&(*J&-[+`ZZ)DF)P23$$23'\EP=<$U7%
MX*IB"*IB!"^+7#-%:3&YM)B"M)B[+PO>-45U,;FZF(*ZF,8KO,6FJ"XF5Q=3
M4!?3O+;(\A3!Q`&7;SJ8PJ:#*IM'^3),I^.$-%;D!M]U,(5=!U46\F`1-QY,
MOO%@"AL/JBP<=)U("[[I8`J;#JHLE(-%Y(;)N6$*W#"]D`N+*7+#Y-PP!6Z8
M?BB%GD@/D]/#%.AA!B%-DTU+)(;%B6$)Q+!V0VRG)3+"XHRP!$98QF28)ELB
M)RS."address@hidden&5&/.C$TU&FQ4EA":2PK(@'G7A"RK0X(2R!$)8=B4$G'I0R+<X*
M2V"%Y41"F(AGI4R+$\,2B&&Y\:#_O(>:K#A?)BM=KU)O")IB>address@hidden;BF
M6(*F6'XLQY^H*A97%4M0%2N(address@hidden<66U`6>S<BTPSQY)EI<VFQ!6FQ
MC90+LGCRS+2YL-B"L-AFQHDAGCTS;2XLMB`LMI5QQXHGT$R;"XLM"(MM9Z)C
M;5%8;"XLMB`LMI,-.D]4%9NKBBVHBNUF4IB(@ZW-B6$+Q+"]:7PSIM43B6%S
M8M@",6P_XTFR+7+"YIRP!4[8P9I'BB,2PN&$<`1".+MK'BF.R`F'<\(1..$8
M:S%2')$8#B>&(Q##,=>";QV1&P[GAB-PP[&.!RT6N>%P;C@"-QR[9$FR([+"
MX:QP!%8XSC%MZ]D'W7>O/;JY\\&S:'VI.NB//_N3*%$)=CS1UJOJ*'%81-I6
M[<[^ID<ZG)+#<0_&2;);`YS?Z7&N7<'+ZLG"Y]4'.NOLOP!IA1>6#T;J:X1(
M[_9(>Y?PPFZU]>R/>XLP(D?GVCCXY,/>XH!@'+08G_Q:;Y$1C*S%./O=WJ(@
MF06?^YQ]L[=\9(_4&&+S[#VP(G5J5U<?1K[D?M'SI;address@hidden>)V&'address@hidden/W)`
address@hidden@.L7D8K7(HX^SY8A20:T>K/P(K$&TX:SOX2K&*TPM3N[._!*B.QBU;_
M!E9K<IX1K=[IK9ZDL<O$ZQ?!D(8O,_P5,*0>8(;?`4/J!&;X6V!(_<`,_Q`,
MJ2N8X5^`(?4&,_QK,*0.88;_!(;4)\SP/\"0NH49_C<8'J,A'U9^KC=\G;J0
M#]]G[X,I=>+`])?!E+IQ8/IM,*6.')C^)IA25PY,?Q],J3,'IG\.IM2=`]._
M`E/JT('I/X`I=>G`]-_!E#IU8'JG-WV#>@L2P;,address@hidden/@&
M=0]:address@hidden"5G\*5M0?:/address@hidden
M;].^A_G+V:^"U4MHA3M19[\.5K17T>H/P(KV%UK]+5B17`DGI6?_"%:T)]#J
M;F^U<Q&MZ!;SV9^`W03MZ!K;)Y#<//$"address@hidden@A>9QR;!]GN5A
MI#7>%SVM^00T_HD$P9('>"&A7FA\_CU`H3&+5O\"5C3.T.H7((&F7.J7CL_^
M"(QH^/=&G_XVI/,_A$:+=3H/\_4R"==-SSY?%\1AJC6%#<`I#-+5D^$(T9P8
M'19DN38.<W)@\5-0P/address@hidden&$`G+IZW#EZX1+_?,address@hidden($.(6Q)F2#776P
M<E"`%[_17SLGU];address@hidden:0",=H.\XC>G%30&H-D1)2#6DD9%A`+H=A(B2S
MV"[!Z56\B0'E-9K[?`IJ%Y*9[R2D?M<69]^?C#Z]&address@hidden<</R3!GM?OA.`%
MJ@:5"Q/:$6\#R-MD\EL_J#(H(#6`E&address@hidden)F39C:H&[1>(\C\PA)R/
M6?!63][U97&M#)GJSK#ZLO4%I,X7B8!V3XKT4CNI9N]I>+/BX?;;_@'L'^F1
MGLUH3?IGJT]A8+Q"K.B3+J>@(*^0GMP^,7$*B>*DI%&X#35(^"^3VPDG\T\A
MF[L\$8WAJ.KF#N0>LP%V_>:.'GMS!Z9ELXEH#>"G,+G,OT(R*?:XTBE,%_(?
M0\OAF<8??`Q)J!J8X8?^UA0D\3PLU]W3;S_X&#*"&0DU^EM3P"^&@6Q&!C+Z
M6U/`+X;\[3*],address@hidden'4OTUOS>\\&]SZ%*<8!Z:/!TR*GX.&#)3-EIZ=/
M(78.R2.<@\/;IY`('Y+',P</"IS"`L&address@hidden;-Z%9<FGV?`9YGEV"Z+W
MW0_)$N97![9(C'=A7OCTT'2<]6N5BRR/W\K24F5PTVP]3B(%OHC":31M;#M$
M6+>9A@/$/L(W[T(2OQY:KE>MW5UH?+(W1!PC=^]"ZW/1&)M_%YJ_$*VW/?`9
MS6]^;WOA8>32_A<]E][<address@hidden'0.!=!<#233N8NEG>L,QB;CMHWBGL'`]9LD6
M>69O\VV0R7%.+9D_Q]EM+5\G49/address@hidden:3]I^.X(`)M-D
M^EM=Z2*J=*K&'ER\)H*YYM)=/S%=7_U_J11M[4U2BYN#UB93[6:4E]63;^WE
MWX7\?Q+S]+NK_>D_PTU(:\=K1?)NP(address@hidden>PD)231)$_]K9Y!Q*4
address@hidden(5<=$RS"_T24',-Q/:48<SN=1KJ*M3Z9J76C*(?O:W($EFNE\B-%6']8K
address@hidden/address@hidden'address@hidden<W`'.
M1B2OCU)^84HNA(K]*'DEA1H$JS2X>J_.MD#K2G;JWY95N@>=>_J?/9AALN&Z
M?[CE%-9X#9N9D:>23F';C+XE27B\9?--R&!F3Y"$I7J/6`P3GFIR6[WUKONB
address@hidden@#6<2,.*!Z=I',-&=95E:QN5.]+VNY]2#D%L64Q4/6O:(()L0+.OH6D[A=
M:6U7"PXO[N_#M'A'6X3E3C5]ZRBY.8'N+.,!&LZQ&K2Z9*=YKY<&:V.0W*AZ
MD35U?/+U54@)GJ':R]ZI<1TT0+($O?AI`+W(3>'U#3\+D$,[S"^^!5*5T$ZN
M7A9806X7B:K/=6E7LPX#TMI\B%'?;CO]K3X+($]?Z*M!IN`J'9GV#;OPU?Y.
M`S,RGX)-Z6?>I#.9YK5AU=C4M"N[U0EA_6:EQJ+#@:G]>(A33[5:I`JG?<6B
address@hidden/;3XE8'YS>P6)6+AJ3IL+J2S:T1A>VU<address@hidden,#VMAR(UQEA1I\
M59CC]9"T9+F8M/PXW*&address@hidden/_NTF$T?MN\2Y`7UNP5G>;9L%Q!*I3;=7/V'
M06!(H,";WAY&(AQ\T1/A)Z"C208'address@hidden("X$VWX'4I2"16%2C6$>F
M$UCH+&=TP%,ITVS[DIU[D'?K='TY62W:S8E[,"'3B0`_$Y6=#<B)3A3UZW%K
M`4F)3D[E/!LE6QC8[]'ICMRJB+>OR+H'*;Y^&<VN++K;02JC/T>B*MR^'>X>
M*(/^/#V9TS<-5JQUNO^7;6U`!?6OH<W7PM6J,X(U2)UN\H3+\;2S`B'47T2K
M%]LG]>address@hidden,U.MV"6,;]RQWN01*KDX-)5[I>A,5C_2>(1=&90$CJ
M5]'DZB)K36`94C\DW(address@hidden)H%RY0ZW3TET0%#MOY3M/71O+L=
M9-SZU\D.WC:address@hidden@W/H=3E?HWT"3;_3Q`XO&address@hidden,>ITTMH#01JK
MDTG"[:[&P'N=SFR`8[##J=-]8^S%^W!"3"<:LNHZZ#ZP]7%N0E^5=K/>4"K[
M:^]!AJN3"=0<^`E;'_J"address@hidden/C0RA%G#U/5@;U.G^>,]N6&O4<:M`
MNP'LAO5LG6X>(KLAR];IS*`+<IC]Z'2;address@hidden@NN.O]!
M]#Z^HD"**%+/K6*5\6?9C6J7)HEO1(UE"P?'*70R.*TZL;@/J]HZR81R)18/
M(=\P=K_H^<9]6+[72?N*7FSOPQQ7)_EFV8GM?=AZUNEA#R(3<.!2OS6(H=8(
M-A#UVV2]9ZL'L'"DDTEC3U583='?0I.W>C&`1:YRV'H,:37E5VFR"@3HE\U[
M$,-ODTU&Q?0\NPVOQ:2V%S['%H;:KQ#;5,T2P/`$!QV=3L.;address@hidden,
M+(^S20%[4=+F/1A>GR85J/8M255A0+]`+)NWPB=1.ND2S?<@2"Z\31?RTGF^
MWFX-;MZ#L?NK%^AV>?V"4-(),#COD0RG?1O7]BW-FQ/(4`ZN"J;;[1HX")5F
address@hidden'V#5^;$Z`0/180W:X6'=.RTH\^GVZ*BQWRM6J.^C"+NT6HS0EN!X9T(3>^
M6;UZ.ND7A7*5'"0[\,T`[AT8QO<6-*V(NG7%S3NP%K-/QIO]61[>*->]"%]N
M?]_?T>)E.%?4R(\[%,A<KY(address@hidden/8A)IA"GLSB-R^/A\O%R
MRC;8^\#?G`#UEL29:CJ_W$;=&9!IN::C+3[2O3D!%4N7G)X(^3BLZ"8#PH7P
M8$!5T$S!XU0KVD&address@hidden@21ZH+/@MJ<P(address@hidden>1<address@hidden;X
M?6#B:L76:E=1]<S`>GN"8/,^"&HQYM`J-M?C8KO0]3X0IUA)QM5?O3FDF/&8
MKNY7JY04&\:0>"49$VQ<address@hidden"!8QGW[3J!]JRE;HJ^(/(V[W?JV0*M*HKRF
M>;T:#-L"[T/`3?3A)DD7=A"!6[^&9"-E\SXDUY/'AU!U>`F1QF!.<*LEI,RK
M%KVC?D4;"address@hidden)EST^$]=H*[M=NO.@,]3>F"F?EB,%12L.T_`
MY_.<G;&:QOWH<@+C$$WJHN6J/address@hidden<N'B57:42:6X<^58)5\I%&AM27&\
M'&?)0TE2O_"OD-^<address@hidden;S;<X23],E;=,Q^*U(=+>address@hidden>^&\/
M!\(A@/H[-6:K$;ORX[ESAZ/#2Z-+ZH^V-]I[8?2"address@hidden/ZO3]C_*NE1X[&N
MX_=4^[2Z8VYW/936_1G7O5!]ITJSYI]%U2?UI[S^=J;^-!VVJ/LHK_^>=$!Y
M=8/_73&8";XG*`VL"2SJ"HY"B"G`J$K545!PU7.'WI;DG0KT<)&address@hidden>>EYY"
M<&9N?EXQZ*(:(,<Q.SNU**,T$]A:<0T-=5?P2RTOSDDM`5]V%`:Z>0@:II8Z
E"G[Y>@I&address@hidden;FYJ46@@address@hidden"/AD8P!->;@];6L`````
`
end


reply via email to

[Prev in Thread] Current Thread [Next in Thread]