Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4727913
Votes 0
Synopsis TextLayout.draw from a LineBreakMeasurer produces low quality output
Category java:classes_2d
Reported Against 1.4
Release Fixed
State 11-Closed, duplicate of 4480930, bug
Priority: 4-Low
Related Bugs 4480930
Submit Date 07-AUG-2002
Description





FULL PRODUCT VERSION :
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

FULL OPERATING SYSTEM VERSION : Windows NT Version 4.0,
service pack 6a, german


EXTRA RELEVANT SYSTEM CONFIGURATION :
Acrobat PDF Writer:  customer  Portable Document Format Driver 4.05
Seiko Smart Label Printer 240, Driver CD is Labeled "Version
4.56"

A DESCRIPTION OF THE PROBLEM :
Calling draw on a TextLayout  customer  from a LineBreakMeasurer
produces lower quality rendering under some circumstances.
The quality is as expected when draw is called on a directly
instatiated TextLayout or when calling Graphcis.drawString.

The poor quality is only visible when printing to
a) Seiko smart label printer 240
b)  customer  Acrobat PDF writer
and the output is ok for a Laserjet 3150 and the screen.

For the PDF produced by the Acrobat PDF writer the
difference is visible only on the screen, the file can be
printed perfectly on a Laserjet 3150.

When printing small fonts on the label printer (e.g. size 7)
the quality of the output is unacceptable low.

Here is a uuencoded PDF produced from the attached example code:

begin 744 JavaPrinting.pdf
M)5!$1BTQ+C(@#27BX\_3#0H@#38@,"!O8FH-/#P-+TQE;F=T:"`W(#`@  xxxxx@xxxxx  
M1FEL=&5R("]&;&%T941E8V]D92`-/CX-<W1R96%M#0I(B6Q7R9$M-PZT0#XM"RJX$[1$!  xxxxx@xxxxx  /W1(S\/PR!1(*L_C_ZT`_@4D`BL?!_GS]R3X^TSZSC6>53
M9WGJ^)3R]/'Y]^_/?SY_?O[[^2-]]._??W3[>F;YS%:?7C[?JI!'9"N*GE<I
M#Y-:V]+4?RJ5S^<OW3QP.C]K[.5A/Z>>ZSAG$K96;K7U\DS<FV1+63^FDOCF
M_,`H_2@<:NTIE]2?RHM#8P8G-66VH?[H/54OFG&MV;C=N+XZ];Q:I+=(N%:`
M@^@1M;X.D\0$P=[%S0W?64_2JQHN7HJ!0F&NFH3=#N,R]X3+0Z6EILV>?"=%
M^+[WF%#')32)O:HPCU6HD#R*ZLMVJ7"SJ+>(@MJCL/2J(7SP"[NZHHB%]N`&
MD0_=W5(_T15<F(&6F9V)76EFZKBCBTA]058\]C]$90COSKAP6_#D$Y?13'-=
MW4"C:K&'=8R+F&)(!,)  xxxxx@xxxxx  %  xxxxx@xxxxx  #9JO"K?:08]"4S-M\TCZ0=5L&[<`^(Q'
M6[)[:@1F9(7=?5`)0&FXM]`!9&JQ>0`+_3(E@^J2"(9K-H4W#%^7PM)#)>-6
MXY=-JA&UK3&.5Z/M*+I-LU"C-@H8;QEZ.PW-%  xxxxx@xxxxx  [12'J"3I)05%@.+.FAJ5
M9B(;UR'AEJP^#-@R#[V[H;@UQO[&W04)A\WY3<==! customer \0$FP#/-,'D^+O05[
M$Y;MP]T3W85V-INFH6;X70TV>85KP3T`,!K3QPM:1XQJ6#"`#%;G?6S:,>ZS
MI.77O$Z[)0M.7)8ZW%X671IWE;G1O8-C1!I/Q%J#-1K;@@??%?BP*:8"^!N%
M0>8*.5FSF$(;Z)F>5S+.;##[8F:J*B]G0;:=))^5^:4\VI((Z\-LJ`]>S[8X
MD6X;A-EA@%6=V5'1+-&PM^,[*+U;TJJ$DDU!`FQJAEJB$CBB3)X-C#F),"U#
M%$K-4??.^^(&PEA^^N:0>WU#.,Y9#Y)Q!9NOJ%U1C)1S&6GA\0'5MX#?D>WB
M3/_HSQ6%0TW,[S(R\UET;RP(C!60H.]VN".6=HBLI"1W9#L:J=V&  xxxxx@xxxxx  =R-
M#D?26/E':26%:H!*%FSF55_9GC4YU=CYF4G#K;B^Z.#!F!M9VRN#=65?I5@+
MLM4H\04YCTA8\7)7K0.+SU$EG)'.`6FC*E[MP`'  xxxxx@xxxxx  (OFUGEC'C5^+X2)7
M!66\V1`TI]=&[=LNQ`SD\D)H)](P@:AB/  xxxxx@xxxxx  *W;?5GKJ>Q!ZH]2,+(+<$`
M@(06;_&6ZQ(-W>]UUWTU.KC24GQ6.3!@KM+`BG=S:ZR$'I,BHY4+QR>+SIF=
M!/699S')  xxxxx@xxxxx  >.,0M)01:K97J_A20I9I_ZVT_0EH0H=YGK$R.S%B5`NZ<H*
MUPS>=GH4[][!/5#7$@GI6'  xxxxx@xxxxx  ]T;KL-3<M0;L)54<M1;D-%NL`5U,/JD
M@^U>@O5H*518^=(8K(ETQSRQ!BP'J5>#TX?  xxxxx@xxxxx  *%-X3ZYYDL!DS6+,2
 customer =B\BDH6XJ6#K]\=K'"*.R5YV?D!Q5($#]F<ZY>ZMUE.).WYB+!-L@'VV8&
MO_)CVW]UO.WHB$[I.)P$69W#J1AFWE3MX.!!4F<C?+7*+<W!5KF$]9+1,I'=
MO"0OHC\5I]F\`OP%T`??5-^7#.*NP]KM[[M-;)<OUFZ?4_!T._RB[/;_:D[N
M,@].'YB(J\1HO(VMYYU(2:+]46.Y9@<].W'G*7P$V</:$;EJ5LO5=;9+R[O.
M_EG.B?*\V]@ZE8"`H1+<<.  xxxxx@xxxxx  <GU6Q48.96W&J'L4[!5>I5.MNM9CY[X
M9:A1B%[)Z>HQ)<E)-=N<YEG#G(1N4U([  xxxxx@xxxxx  !2<6GCWR$<`8RQBT_!5!X
MIP/)#]H46=+@2"EF9B0*?$JHR+::,U?A_GR]*PF6?S,WSH/[`DJG!E^:LQD/
MF4L*M#!I0O-U*?0-HD*+)YLZY%/"\,.#;S11%^?UK&)<(AE*6JB@'N-T%5B5
MO#6$R]X;G!_Y07H`GL.LEP_V@>^+?*;XPFTK6FJ@;9_@ER)KU)@8U=1J!..$
MD+&&N[;BD;;`J52$/?I%"Z.Q2BS%;]/Q]0G'V8JH0$\W9[H!^:O"1H^OZ\@O
M"IM1;H6.*2I8]9_``]/?EH:$2>J/J%LE^[PB")Q@'EF^<[$R&S47:&N=J)3T
M"`7;7/)SK1:>=,E/5J?:UEBB3;I4BDG;5+UHM%O*@Q+.)GIDZ][][*:P<4;A
M6A;]@7Q!$^V#_IC4.3>$)H#>'Y??*DZP%L?ZMR):TYL!=H?5Y):-#J4C<9)/
M)JJP;I"4;BIMH2ZXBOY35]2&,BS4U5Y-I>`-  xxxxx@xxxxx  %1)V+X.*Z^N1.%J3
M!N^Z>2O4T:W9M"DUT\H"R5S,OC4_&)<45!=0HEV(1Z/>ZF]*\V>QGFL?<'LA
MW=YQO7-=+2J-XZ5P=_6.E`[CT/]#.D65&DM4E=9@#N][6KO'*=5$V]4/=XQ0
M%2%Y/SC4Z#,7:  xxxxx@xxxxx  'QGT\#2-LDX7(>)H&C6SN1-BG]*<A[5>SY-+@0'Z5MA)
ME:Q::YA5R,$JW%^<"[:WD":Y1.CKO(,(148,E=  xxxxx@xxxxx  [.N1FULF!FX3HFR&JS
M(:&L!^9^T=?"Z?R+E,%&C#L[G`W#"!56MR.E.H[ZT-;N"/7![J01:L1-[:^!
M(D/DX^%$FN1S=$OS?34SHS-KG(1R26;U*  xxxxx@xxxxx  #&"\^DYIJ4CL<A%':J]QB
M$@7>V`*\Y`F@<-U(YN*+CJ":\D(7'_>Y('J8*\Z`OL.4VN\4U:26R.M-1V9`
M:>7]OB@*\EEM2$/DT48T<Q+#WNXCKU&V#4?!DE*SGNT;FP>`MA9>]G#D[Z42
M`N9>;'9-U&N-;_F=8K'FNV+7#ZVEK7$>@1MH[N6'  xxxxx@xxxxx  .$HUSS2,L<3
M_9G./-(2.PYG#(.W6#IJOD3Q4JFYHPCD`HI6YSQ$\"(D83"H"*]?+#"OA<7<
M:=&=4L&"/GV<H&(T#(9QQR@_P!X@^@X"[T!MOA3YAV$O.VP'"DDS;\VPA49B
MBMLP8X\KC*_="E/WA]:PZ47'A<()P[#I7N,Q1W1_B!E%5?(  xxxxx@xxxxx  [Y.)X7
M;I`/2M,3XR@:OF>*,CT7UOZ)T8T\GP/<$JWR<])L,0%#$HV:`K;!A2WUPE$H
MI$C,H]!:P:-(MGWS"CYC]V3E43SF8.7ID'*Y*3FG3\_2SEWI-JJMZ#P3\^@.
MN#Z<YD*Q%ECETHRM)N(%R(/V_M&+C<E-/WH[Z'5]2^D\7]V=9DV3-B<^:-4C
MG_?,OTXN<M*8=_4HLX+-+I4KI6SW30VCBC]2K')]@QM1R8P:%94/I8U$">D$
M`L8X=<H#'OG#8T":5R-AH*JEP);.F!-2B_F!FLZ0YXM-7JE'/`8=)$\OVC1`
M@<;48T^=J*"3^!7.]XI%>@W[1$L5OZ!W*1!GAU-"X7B>!H]/'\&*R'G4,K2-
M:8GE.@)-;04O/,$YE8R=W=RP=M7ZC:;/#:E%`FVIER/-V.K5$;C[A%$.+R7&
M6)JP$"1G*B9@#\*=:XU52X"[599DJ`],+2_,TZ\`JV)YQ1<6NS7-W`9^KX'$
MP\"T.B<S!70U#F.D[\+@JIUR+_/9H=.BV&,&@FT5.6NO9X3X^ZK$)"3QE%"Z
M2L7`UW"VP/P1-@A>MD!<,L(,2%W:Y2NL<(WU:A[U,BJ%;<,1%W]X#'RY/8W5
M>]OL=9TM?_MDE=+JVG861<">GHJ%KS6//*#RY0VBSVIZ=#4DE!R0.\RP]J$!
M\NS,D,8[\SU(J`P(>+31_:5VCA8F-L'95EEG\`]E^ZE%%,&$X,%$3_7E^40)
M$)]R!_-  xxxxx@xxxxx  %:6/I9K/.;HT/6PP_1N  xxxxx@xxxxx  ;ZY`>]Z6QI7MDHG6W&
MKL)<X"]2&<P,1D4PA&A'  xxxxx@xxxxx  >#,2K$!*0PM/0UQTW+TNKL`BQF2U_^5DR118-
MG+W3$;O7CRG.%3%]U-1_*KREFZ*F>5'Q_VQ729;L.`B\2I\@GR6AZ4Y5]]^V
M(`B0L_[.8%EFCJ`]RP_;[>W9GZ`HK3RH+.,/K11$>CK+:,7;PVY7R6I>'ULL
M#3C8G!I_\'('PPXITD>-*!56`<D[%:>"!-7DV0=[I-WEO6_]H%(  xxxxx@xxxxx  <+ISQ
MZOB1ZB)I4%<]A]  xxxxx@xxxxx  &%)TL"8)6G0F`8O8+@I]6_.\,  xxxxx@xxxxx  :>P)(!RS&!,
M9;  xxxxx@xxxxx  ]6PYMM:8N`AFL";XTTG2K-Y6\QFFZ)UGW,PO#(G0QX1C^C*!  xxxxx@xxxxx  
M7D_I3F0A7>D9;LP=AKL+ASK#W2U::F8;9!SJ3Z]D'(SW#I(1]:T31F/7ZT4R
M&%V2C'>T55'FM:#\IB(;J.[/OV3>6#:9^UNV']GY]5E_Y=A'^<%?1=A8]YOW
MA"**Z.6%*EJ[?5(I'1#Y&A%4T(76D:YO.5P0![]O1?K@G_Q5_,-"E;J3"8W-
M;\I8-?3``/?[H\"(-D7Y9$N?S31X0^O;>;JOA$V'FC$.+<<^23[TKR]BTKH`
M(_QUA9'H;5V+Q&>$'99]&7`\\:8=*A!G<'`B%E/K7*5'N"=1ZH]C9"@P,@5P
M:@3/  xxxxx@xxxxx  ^3R(8R7Q&686KAJPJ^*!`(&SG5KD7)$Z(.1-.V]Z_TDH*CU?:'!
M;.K8Z?&0_&@6)GI#73L):J_F'-Z<:/11464=GU:R`"8-*55;O0`>C`G;0?!7
M96>:[2$<)K!_X^9!BYW;Z$RD-Y,36C6^M2B2],&)HL.?L0FVHQ4R\G5C(]FG
M]9I3#'LFJ(/GN5&%6U@8_=`-O>J!!V+9?%`1PCCJ%$9H"A*?`RBD',T2\Z:,
M__CMJ:N%_Q3PCR\S@!#G3B]E:X#*'8NQ:)\`+@V,H!TF`C="8E'9Q?Y^8I.S
M]/A:043K&UAC8*YI=]J6;1[;&!4Z1K['BM7,X#[AD]$5.0O'^AJ.5%2-C"KF
M)+1]*>*3B=;[DG/8^0=_%/WA@.=/OQ7YR<L359R%)`?L;RK007:B.S-[RU43
MX+*7D5;D\EW"^DVE.>Z:6Y/=IX6_%@#<ZG/Y2`@*N`!7>+O1QOCNL.-ZW[IM
MAOL_=R5KJ)`\[$ZTFVXLBXM"V_+)?PP:YQ;L"=?PUAF%!:+MC<YKT2`;-.FL
M&_(\'J+3<!0XF5W.#)Q[WR!,18"@*]",(=E85!,WVG:DT8L_5T%0AA">]8X%
M.&(W4`S_VWD$`SV/.-?QSV8!BWAJ+&=  xxxxx@xxxxx  ".(_ASN/`4L63CLFG0=D_^/
M(BN:BH+L/<AE\1*I`7FO"K+?J.3[H-8::C:J<KOC+%#_9/""S@(>GVAK%3P5
MBB6K.V/CW%[!  xxxxx@xxxxx  >QHY"BM`"IJ_MV:/UHY#?=9TGXO!4>&'"([Z[\4]LF?
M.WY0CEI`;:I'=BE8=UL:DQ\H-$M'L;2<Z_5H`8>$VL8ZQ?=8M7"32OIJ<XM0
MA3K<#$IHF!ADA50XSL-PSJ%P[5N!;RY%  xxxxx@xxxxx  "8HU.IP-!":\!FFS(E_9GB
M3IOHX*JS!X*[F>]LO:%PQQ(GU[77_:8B,U0<PK\5MLR:[!,U_"SKLUZR\`/,
M"RG[JW#*>/>9E$J`D_=/YTO*RKO=4$5M9+'N5]G7=+03A>L:%>TSR%Y-%NXK
M(3LOT`  xxxxx@xxxxx  &`*1B_HAQ+`ML]?TMK_>!'(I6KF]<,81;K2GDR^8VOFJLU<_+
M[?:\>U3JNA9:5_A(Z.Y6?Z/V.W1VZ7>-4,$=15#2_U#\^PX[863KNM05Z=O)
M];=$3!?Q*6B8KM(.3!=9#))W#BBA8[/(A=K2'_8H1J+TJ`I]6S\2W_5VW]E;
MLG8!5#NBJ]1>B"Z]D[(\>NOXC/C#HFG\_TZ(%UT%(O\J[1>BRT#!***/Q//Q
M0O/QRFT'!_BKB-YT!0(3DF&Y2O.%Y:H9\6.,"&"Y8'-Z16&1Z:S+\V.[DN3$
M<L$&@S>#-PCVIPO)-<X[D%R0)3A.(9$\-.EX_2I[5P22AZ(@:\[:BA?&\T+R
MJ!NK4,$W<.$A9V$M3G>;98E/9/&"SK)=G^#  xxxxx@xxxxx  &0Z_2N)$\^L&07#!2',E#
M"B0/S;^;416S6?;$^(-VYP23L'W)#OCB8QVOTH,UZ!@O4SB=W;IY$P69%8>+
M5=CT1:QD52^4)-Z/^8&I6H"Z'53[CWLR.CS1&2T#""F&1R$MMJPKNK$P?HEU
MDA<S2_BI=;N:$R-"K>VO>7&<R9>-+Q&$V%UQ$A'S'TX'3:L.2L=6<H_4Y&&,
MN4N*B`WK!&A^+H5R076F8KNU$*YKM:5S8NF6L=$DGL:'FRPK<OI4]_>52=<J
MFY7[;3C<8*>72,-MW1RZR^  xxxxx@xxxxx  '4[U6!`5Q',;/$&6L,)O^5-2?3XFN%V58^
MWG/,'_.\2;,CS>C&L0#6.6V\)#!LQN3",_Y[FVYG%R88XO1K"BMA3?SJ[`6]
M:,58XJ>-Q:^I7EA6O!461M#5*NNY6V4"V=AFFVL;8[*R>61.0GB]I)[U%QJK
MUH54#R1^@63,N->*:B(QFZQ&D7&"=643KL<D!=2%W4B4+:JP4>^;)PO7$<66
M5;ES:F^ORN(@CUTQ\<5B[*\U^PMX^  xxxxx@xxxxx  !-;B]:1>F)"L.SZPR7:VR@]=X
M`<`*?-+Z.>8XI&D.YU5RJP9FKP(``R"ZOQ<`>$P<`=;C,]]CUXAV=W+[PZ5H
  xxxxx@xxxxx  )  xxxxx@xxxxx  !7IXYJ9G4I0^  xxxxx@xxxxx  ;6,B\;4TZ1R#.!`7A<W2\VLT"+_6WG
M4?N0+(B@=!;;&)Z+C,"*:#EE;9F7]1%ZH$(/OJ72D%?G'LT<`9V4'C182(R%
M:Y*54X'QN4!K,.9"RA&YMHE6LILH:QG;J/8:F`V'$W/7($46E*;/D.<E73,F
M$.,7H5XK,,+K#XB@>:G"#F45"G<=S:@?MIXH&!,S0^*].5"GH,Q'LG![$P\B
MLI</1KM*E;3A$B0/U]AXXBZ!53[;),K.I]>0:!W,LE61H6`%"YL<7LKK.W#&
MN-1W'__C2%,&O+A,1;R[]_YG9`B&[XW7U(C4:&)W`1!J$#15N\$D"]$/%!+8
M>(3`:-F"D9^H>C3NK,Z9W1$R(/(>N">K9(,]^6N`FH?B2&^\WAM#'GA]I(;0
M:#U1RGBD1@/";X>:JU=GB>#T8IF8U=-[S$  xxxxx@xxxxx  (HSWJ]H1B`SUT%#%L29)V
MQ7^`)T=J(P#C"Y*WKTK/?_K8N2*%4#YYL,>.$Y]5^%6XT\P1%I0:F]^19'&.
M'B&74AQN7.?<G1&3E8G&FL)$7^/2$XU)>H+VK'O.[GG-V7U]%=RU99)%TH9]
MK93]>0@,%1:KQMT_#JOD[I^?]:<0&)GA'7/U!XIK8T&U.93M8%=7G<X14$AW
MFKEZ$_,3!M^F-#YNFWTB7*;BRN:85Q'L1,,4)#/CFFQ`1PB_Y@G.=?[DW$]6
  xxxxx@xxxxx  \8L>*<;6KQ>S)7MTP>)"P9(\$OV$[+397'RQSYB7W!68)H]_RDL/HB.B*
MJ6]R5H=@6PE/^OC%-?C.1B-3CZE#$SJ&B1N\:V`=S:]W==AMH+4GOSUI+2-1
M[A"OW!`Y$$%K3UNM%ZU-'#CM*3F_KJ%K!I<*A5WS>RELT?A117%`%HW/OFSH
MS_K4V\3^3`3+7P\,M**VJ51N4M^?3I9O-W=&9QU!N(!5ID$XTH?8>T?("JE4
  xxxxx@xxxxx  ?=  xxxxx@xxxxx  ^;CR%0)B99Z^8S//Q6G9L9+-K(?SEB=J)2[)"X?GT!P%89DT<Q`
MVHA7PR197!T[@CM>+$J#7Z_W^RJ^7H(E>(^I9F>I%M\;8%$I"'T`EVI61*HX
MCQBXVJ49X2U!=CU813AZWXJ@<>\Z,\4$;F7A3>(`[P!3_*LP2NL*+!'J>Z_/
M)W!$A3[N&:^:9.B]6E<8-.ASL'4<K9\1+P.>SGV]"LODX5E_;_[]X.,%*T^@
M*]`7)NN/9DCXNF!0^ON'JX^D!Y7;'!TLR-$&  xxxxx@xxxxx  (Q(E["  xxxxx@xxxxx  !E&P1#"$G
M9[EI^)_LJ*(U5)MU@::K>3_H)+$#G01-<]'Z7<K-&Y3326^K\;_>*@YC:C2?
MVSE5*C#S_ZK+'3F!&`;#)_`=7"9%R%I^L)0A0-)F9B]`>`X9&AJNG[6EW[*'
M!EDLUDKRI]_B)Q9OA:*1$G0L$AI!!JY6XC/K&FL$@*C.I9PB>5+22]V$E4W+
M-2R'(_)A+-%&:GO'TT*='DY.0FKOE\B8;.B9*+%<%&"IJFM6],<RV]2J&4LX
MLDOBIDPXT:%D4'$5";(:N1;RCKGY9<9*&:4R2B0OXU#\A*+G9O;$SRJ1O.<X
MI44\_UO!=-=>W2L4L7IO.K`L2$O*+34TN2[:"UL598.RA,J.'#?KI5H_U)E?
M.'M09E9Y5,59#9!;HG`U&R)_DNU#Y]W'9EC?=4'9%@9!3F]7U`7'A&74!0>Z
M#6RM.CT;`T$W9]8%  xxxxx@xxxxx  /JDIFYH65>@/BRE3)\Z&#'=P5=GD"`UC!(V&)
M+5<M!)6T!`B1'W4`'UB'-^3#$?B:*[!#+A1V<[9&/<EB,>Q@*.RPHFQKJS,O
M7*TYFQ]KUI-QLT1=$A=]VIC!YL_C8LW[;K#Y/C"=S=NP&)R+\_?#[+33T[[L
M?P_'T_ER_5A_;K:[K^_[[>^Y.#[VSU<[W<QV,O_>MM6N#65N9'-T<F5A;0UE
M;F1O8FH--R`P(&]B:@TV,S`Q#65N9&]B:@TT(#`@;V)J#3P\#2]4>7!E("]0
M86=E#2]087)E;G0@-2`P(%(-+U)E<V]U<F-E<R`\/`TO1F]N="`\/`TO1C`@
M."`P(%(@#3X^#2]0<F]C4V5T(#(@,"!2#3X^#2]#;VYT96YT<R`V(#`@  xxxxx@xxxxx  ^
M/@UE;F1O8FH-."`P(&]B:@T\/`TO5'EP92`O1F]N=`TO4W5B='EP92`O5')U
M951Y<&4-+TYA;64@+T8P#2]"87-E1F]N="`O07)I86P-+T9I<G-T0VAA<B`S
M,@TO3&%S=$-H87(@,C4U#2]7:61T:',@6R`R-S@@,C<X(#,U-2`U-38@-34V
M(#@X.2`V-C<@,3DQ(#,S,R`S,S,@,  xxxxx@xxxxx  (#4X-"`R-S@@,S,S(#(W."`R-S@@
M#34U-B`U-38@-34V(#4U-B`U-38@-34V(#4U-B`U-38@-34V(#4U-B`R-S@@
M,C<X(#4X-"`U.#0@-  xxxxx@xxxxx  (#4U-B`-,3`Q-2`V-C<@-C8W(#<R,B`W,C(@-C8W
M(#8Q,2`W-S@@-S(R(#(W."`U,#`@-C8W(#4U-B`X,S,@-S(R(#<W."`--C8W
M(#<W."`W,C(@-C8W(#8Q,2`W,C(@-C8W(#DT-"`V-C<@-C8W(#8Q,2`R-S@@
M,C<X(#(W."`T-CD@-34V(`TS,S,@-34V(#4U-B`U,#`@-34V(#4U-B`R-S@@
M-34V(#4U-B`R,C(@,C(R(#4P,"`R,C(@.#,S(#4U-B`U-38@#34U-B`U-38@
M,S,S(#4P,"`R-S@@-34V(#4P,"`W,C(@-3`P(#4P,"`U,#`@,S,T(#(V,"`S
M,S0@-  xxxxx@xxxxx  (#<U,"`--34V(#<U,"`R,C(@-34V(#,S,R`Q,#`P(#4U-B`U-38@
M,S,S(#$P,#`@-C8W(#,S,R`Q,#`P(#<U,"`V,3$@-S4P(`TW-3`@,C(R(#(R
M,B`S,S,@,S,S(#,U,"`U-38@,3`P,"`S,S,@,3`P,"`U,#`@,S,S(#DT-"`W
M-3`@-3`P(#8V-R`-,C<X(#,S,R`U-38@-34V(#4U-B`U-38@,C8P(#4U-B`S
M,S,@-S,W(#,W,"`U-38@-  xxxxx@xxxxx  (#,S,R`W,S<@-34R(`TT,#`@-30Y(#,S,R`S
M,S,@,S,S(#4W-B`U,S<@,C<X(#,S,R`S,S,@,S8U(#4U-B`X,S0@.#,T(#@S
M-"`V,3$@#38V-R`V-C<@-C8W(#8V-R`V-C<@-C8W(#$P,#`@-S(R(#8V-R`V
M-C<@-C8W(#8V-R`R-S@@,C<X(#(W."`R-S@@#3<R,B`W,C(@-S<X(#<W."`W
M-S@@-S<X(#<W."`U.#0@-S<X(#<R,B`W,C(@-S(R(#<R,B`V-C<@-C8W(#8Q
M,2`--34V(#4U-B`U-38@-34V(#4U-B`U-38@.#@Y(#4P,"`U-38@-34V(#4U
M-B`U-38@,C<X(#(W."`R-S@@,C<X(`TU-38@-34V(#4U-B`U-38@-34V(#4U
M-B`U-38@-30Y(#8Q,2`U-38@-34V(#4U-B`U-38@-3`P(#4U-B`U,#`@#5T-
M+T5N8V]D:6YG("]7:6Y!;G-I16YC;V1I;F<-+T9O;G1$97-C<FEP=&]R(#D@
M,"!2#3X^#65N9&]B:@TY(#`@;V)J#3P\#2]4>7!E("]&;VYT1&5S8W)I<'1O
M<@TO1F]N=$YA;64@+T%R:6%L#2]&;&%G<R`S,@TO1F]N=$)";W@@6R`M,C4P
M("TR,3(@,3(Q-R`Q,#`P(%T-+TUI<W-I;F=7:61T:"`R-S@-+U-T96U6(#@P
M#2]3=&5M2"`X,`TO271A;&EC06YG;&4@,`TO0V%P2&5I9VAT(#DP-0TO6$AE
M:6=H="`T-3,-+T%S8V5N="`Y,#4-+T1E<V-E;G0@+3(Q,@TO3&5A9&EN9R`Q
M-3`-+TUA>%=I9'1H(#$P,30-+T%V9U=I9'1H(#0T,0T^/@UE;F1O8FH-,B`P
M(&]B:@U;("]01$8@+U1E>'0@(%T-96YD;V)J#34@,"!O8FH-/#P-+TMI9',@
M6S0@,"!2(%T-+T-O=6YT(#$-+U1Y<&4@+U!A9V5S#2]-961I84)O>"!;(#`@
M,"`U.34@.#0R(%T-/CX-96YD;V)J#3$@,"!O8FH-/#P-+T-R96%T;W(@/$9%
M1D8P,#0U,#`V.3`P-D4P,#8W,#`V,3`P-C(P,#8U,#`V,3`P-S4P,#8V,#`V
M-C`P-D8P,#<R,#`V-#`P-C4P,#<R,#`W-3`P-D4P,#8W,#`R,#`P,D0P,#(P
M,#`V03`P-C$P,#<V,#`V,3`P,C`P,#4S,#`V.#`P-C$P,#<P,#`V-3`P-S,P
M,#4P,#`W,C`P-CDP,#9%,#`W-#X-+T-R96%T:6]N1&%T92`H1#HR,#`R,#<R
M-3$Q,C8S,"D-+U1I=&QE(#Q&149&,#`T03`P-C$P,#<V,#`V,3`P,C`P,#4P
M,#`W,C`P-CDP,#9%,#`W-#`P-CDP,#9%,#`V-SX-+T%U=&AO<B`\1D5&1C`P
M,S,P,#,U,#`S,#`P-C<P,#8Q,#`W,S`P-S0P,#5&,#`W,#`P-S(P,#9&,#`V
M.3`P-S,P,#<S,#`V0SX-+U!R;V1U8V5R("A!8W)O8F%T(%!$1E=R:71E<B`T
M+C`U(&9O<B!7:6YD;W=S($Y4*0T^/@UE;F1O8FH-,R`P(&]B:@T\/`TO4&%G
M97,@-2`P(%(-+U1Y<&4@+T-A=&%L;V<-/CX-96YD;V)J#7AR968-,"`Q,`TP
M,#`P,#`P,#`P(#8U-3,U(&8@#3`P,#`P,#<Y.#<@,#`P,#`@;B`-,#`P,#`P
M-  xxxxx@xxxxx  ,B`P,#`P,"!N(`TP,#`P,#`X-#`P(#`P,#`P(&X@#3`P,#`P,#8T,38@
M,#`P,#`@;B`-,#`P,#`P-SDP,R`P,#`P,"!N(`TP,#`P,#`P,#$Y(#`P,#`P
M(&X@#3`P,#`P,#8S.38@,#`P,#`@;B`-,#`P,#`P-C4S-"`P,#`P,"!N(`TP
M,#`P,#`W-C$Y(#`P,#`P(&X@#71R86EL97(-/#P-+U-I>F4@,3`-+U)O;W0@
M,R`P(%(-+TEN9F\@,2`P(%(-+TE$(%L\83%B-F$V-V$U-#5F.34U-3<Y8C`U
M,#@X8S%E.#`R.#(^/&$Q8C9A-C=A-30U9CDU-34W.6(P-3`X.&,  xxxxx@xxxxx  ,  xxxxx@xxxxx  
;/ET-/CX-<W1A<G1X<F5F#  xxxxx@xxxxx  -#D-)25%3T8-
`
end


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. run the attached example code
2. print to an Acrobat pdf writer
3. view the pdf on screen
   notice the visual difference betweem the two lines
   which are produced from different TextLayouts

Another effect:
1. remove the commented line
//
System.out.println("d="+layoutd);
2. compile, run
3. print to  customer  acrobat writer
4. view the PDF: both lines have the same bad quality!



EXPECTED VERSUS ACTUAL BEHAVIOR :
Same viusal quality for both TextLayouts and Graphcis.draw.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import java.awt.geom.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.print.PrinterJob;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.awt.print.*;
import java.awt.font.*;
import java.text.*;
import java.util.*;

public class ShapesPrint extends JPanel implements Printable, ActionListener {
    final static Color bg = Color.white;
    final static JButton button = new JButton("Print");

    public ShapesPrint() {
	setBackground(bg);
        button.addActionListener(this);
    }

   public void actionPerformed(ActionEvent e) {
        if (e.getSource() instanceof JButton) {
        PrinterJob printJob = PrinterJob.getPrinterJob();
        printJob.setPrintable(this);
        if (printJob.printDialog()) {
            try {
                printJob.print();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
	}
}
    public void paintComponent(Graphics g) {
	super.paintCom
ponent(g);
	Graphics2D g2 = (Graphics2D) g;
	drawShapes(g2);
}
public void drawShapes(Graphics2D g2){

	g2.setColor(Color.black);
	Font f=new Font("Arial", Font.PLAIN, 24);
	Map fontAttributes = f.getAttributes();
	AttributedString atext = new AttributedString("abcdefghABCDEFGHmjkw.measurer",
fontAttributes);
	AttributedCharacterIterator paragraph = atext.getIterator();
	int paragraphStart = paragraph.getBeginIndex();
	LineBreakMeasurer lineMeasurer = new
LineBreakMeasurer(paragraph,g2.getFontRenderContext());
	lineMeasurer.setPosition(paragraphStart);
	
	TextLayout layoutm = lineMeasurer.nextLayout(500);
	layoutm.draw(g2, 150, 100);

	TextLayout layoutd=new TextLayout("abcdefghABCDEFGHmjkw.draw", f,
g2.getFontRenderContext());
//
System.out.println("d="+layoutd);
	layoutd.draw(g2, 150, 120);
    }


    public int print(Graphics g, PageFormat pf, int pi) throws PrinterException {
        if (pi >= 1) {
            return Printable.NO_SUCH_PAGE;
	}
	drawShapes((Graphics2D) g);
        return Printable.PAGE_EXISTS;
    }
  
   public static void main(String s[]){
	WindowListener l = new WindowAdapter() {
		public void windowClosing(WindowEvent e) {System.exit(0);}
		public void windowClosed(WindowEvent e) {System.exit(0);}
	};
	JFrame f = new JFrame();
	f.addWindowListener(l);
	JPanel panel = new JPanel();
	panel.add(button);
	f.getContentPane().add(BorderLayout.SOUTH, panel);
	f.getContentPane().add(BorderLayout.CENTER, new ShapesPrint());
	f.setSize(580, 500);
	f.show();
    }

}

---------- END SOURCE ----------
(Review ID: 159899) 
======================================================================
Posted Date : 2005-07-22 03:26:14.0
Work Around
N/A
Evaluation
This is becuse TextLayout some times prints as filled shapes.
This is more likely to be visible on low-res printers.
See bug 4480930

  xxxxx@xxxxx   2002-08-07
============================
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang