Re: [BLACKBOX] underlining spaces

From: [at]} <Josef>
Date: Tue, 17 Mar 2009 17:40:30 +0100

----boundary-LibPST-iamunique-285676151_-_-
Content-type: text/plain

thanks Bernhard, but work arounds don't really help me.

Anyway, I do now understand the technical problem behind this
issue and I think the only way would be to attack it at its core.

And the core problem is this:
Spaces are not drawn at all. They result from placing
words (Strings without Space) at specific coordinates.
Words are drawn by a correponding Windows API function
(ExtTextOutA, ExtTextOutW).
If Space between words is to be underlined,
a line would have to be drawn explicitly. This line
would, however, not fit perfectly with the way Win API
draws the underline bar.
So the whole problem boils down to underlining a Space
with the help of the Win API and not only for regular
size Spaces but also for Tabs or glue Space in case of
using block adjusted mode.

A possible solution:
This could perhaps be done by using the 'kerning' feature
of ExtTextOutA/W, i.e. setting the dx to an appropriate value.
I have not tried it but it may be the place to start experiments.

- Josef


----- Original Message -----
From: "Treutwein Bernhard" <Bernhard.Treutwein{([at]})nowhere.xy
To: <BLACKBOX{([at]})nowhere.xy
Sent: Tuesday, March 17, 2009 4:30 PM
Subject: Re: [BLACKBOX] underlining spaces


Hi Jo,

what about using the combination of a zero width space and a non-breaking
space?
i.e.: 8B and A0. It does not look that good at a line end and behaves a
little
bit strange during selection, i.e. shift cursor. It does line breaking
correct,
but it is also difficult for searching and I have no idea how it handles via
clipboard/rtf.
--
  Bernhard 
StdCoder.Decode ..,, ..ZF....3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
 hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
 7.2.s,cu5.,6.5Qw7uP51QCPuP7PNN9F9vQAy1xB.gdj,UBxhYhAbf9P0G2sIdvPZntgcghghZ
 cZRC8T0E.EQC.H.Vt.2.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.Iv0.,
 sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.75T.t4,.g82U00.bnUGLu8ro8quGrmCLWKqt
 E0E...x.0.4.AcmBhVZBl6w1E,E65.gDwz0ZhV3o9KggBgU039P112IcM.08EEjMlm4842IUW,
 ,3cMEE,842IUW,,3cMEE,84IklbeZlVyKrGLtyKqmqm8rtumdGb1ZimZh2hgnRg.AS..oZ1xhi
 ZCU2hgnRg.sEMM.Et...ktu0.Y62Um1,.d.,.HE.2U..U,IklbeZFdKLqKKtCLLC3ZORNX2V.A
 yI,ktuGdKLqKa2V.Iy1U.2.i8S.C80E.QE.sQRtIQeoBjghg2hgn7.X5.u0n9PU.Iy5.,.60cK
 6.,U00.umUG5.70,E0E...7,,M.,.,.,tcp00kXat.wnjl.k.E.0.3gwP.0..I16.M.EJ2wAC.
 6.VQ.E..YVsH4EKithQVs9E3Qw70.5uP..202..E2E.UA2.0Euqpt2YbQI,AzJE.nT3YyU3B,h
 8l2iY....
 --- end of encoding ---
 
> -----Original Message-----
> From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy> Josef Templ
> Sent: Friday, March 13, 2009 1:12 PM
> To: BLACKBOX{([at]})nowhere.xy> Subject: Re: [BLACKBOX] underlining spaces
> 
> 
> The non-breaking-space (character A0) works fine in 
> most cases for me as a developer 
> but for an end-user it is hard to explain. It also 
> leads to possibly unwanted effects such as 'non-breaking' 
> or, in the case of using a digit space, a larger gap.
> It is also treated as a different char in a text search command.
> If you import e.g RTF text over the clipboard
> it would also need the text to be edited after
> pasting, which is simply too much work.
> 
> - Josef
> 
> 
> ----- Original Message ----- 
> From: "Campbell, Robert (SELEX GALILEO, UK)" 
> <Robert.D.Campbell{([at]})nowhere.xy> To: <BLACKBOX{([at]})nowhere.xy> Sent: Friday, March 13, 2009 12:35 PM
> Subject: Re: [BLACKBOX] underlining spaces
> 
> 
> I use ASCII character A0, rather than the usual space 20. 
> 
> Cheers
> 
> Robert
> 
> >> -----Original Message-----
> >> Hi Everybody!
> >>  
> >> In the BB text subsystem a space character is not shown as 
> >> underlined if the 'underlined' attribute is set.
> >>  
> >> I know that this was so from the beginning of BB, but 
> >> nevertheless I would like to ask if there is any reason for 
> >> this behavior.
> >> All text systems on the market do it the other way round, 
> >> i.e they underline space characters.
> >> This gives the user more control, because he can express 
> >> both cases, underlined and not by specifying the attribute, or not.
> >>  
> >> Would it be hard to change that in the text subsystem?
> >> Would it break something important?
> >>  
> >> - Josef
> >> 
> 
> 
> ----
> To unsubscribe, send a message with body "SIGNOFF BLACKBOX" 
> to LISTSERV{([at]})nowhere.xy> 
----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-285676151_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIHRoYW5rcyBCZXJuaGFyZCwgYnV0IHdvcmsgYXJv
dW5kcyBkb24ndCByZWFsbHkgaGVscCBtZS5ccGFyDQpccGFyDQpBbnl3YXksIEkgZG8gbm93IHVu
ZGVyc3RhbmQgdGhlIHRlY2huaWNhbCBwcm9ibGVtIGJlaGluZCB0aGlzXHBhcg0KaXNzdWUgYW5k
IEkgdGhpbmsgdGhlIG9ubHkgd2F5IHdvdWxkIGJlIHRvIGF0dGFjayBpdCBhdCBpdHMgY29yZS5c
cGFyDQpccGFyDQpBbmQgdGhlIGNvcmUgcHJvYmxlbSBpcyB0aGlzOlxwYXINClNwYWNlcyBhcmUg
bm90IGRyYXduIGF0IGFsbC4gVGhleSByZXN1bHQgZnJvbSBwbGFjaW5nIFxwYXINCndvcmRzIChT
dHJpbmdzIHdpdGhvdXQgU3BhY2UpIGF0IHNwZWNpZmljIGNvb3JkaW5hdGVzLiBccGFyDQpXb3Jk
cyBhcmUgZHJhd24gYnkgYSBjb3JyZXBvbmRpbmcgV2luZG93cyBBUEkgZnVuY3Rpb24gXHBhcg0K
KEV4dFRleHRPdXRBLCBFeHRUZXh0T3V0VykuIFxwYXINCklmIFNwYWNlIGJldHdlZW4gd29yZHMg
aXMgdG8gYmUgdW5kZXJsaW5lZCwgXHBhcg0KYSBsaW5lIHdvdWxkIGhhdmUgdG8gYmUgZHJhd24g
ZXhwbGljaXRseS4gVGhpcyBsaW5lIFxwYXINCndvdWxkLCBob3dldmVyLCBub3QgZml0IHBlcmZl
Y3RseSB3aXRoIHRoZSB3YXkgV2luIEFQSVxwYXINCmRyYXdzIHRoZSB1bmRlcmxpbmUgYmFyLlxw
YXINClNvIHRoZSB3aG9sZSBwcm9ibGVtIGJvaWxzIGRvd24gdG8gdW5kZXJsaW5pbmcgYSBTcGFj
ZSBccGFyDQp3aXRoIHRoZSBoZWxwIG9mIHRoZSBXaW4gQVBJIGFuZCBub3Qgb25seSBmb3IgcmVn
dWxhclxwYXINCnNpemUgU3BhY2VzIGJ1dCBhbHNvIGZvciBUYWJzIG9yIGdsdWUgU3BhY2UgaW4g
Y2FzZSBvZiBccGFyDQp1c2luZyBibG9jayBhZGp1c3RlZCBtb2RlLlxwYXINClxwYXINCkEgcG9z
c2libGUgc29sdXRpb246XHBhcg0KVGhpcyBjb3VsZCBwZXJoYXBzIGJlIGRvbmUgYnkgdXNpbmcg
dGhlICdrZXJuaW5nJyBmZWF0dXJlXHBhcg0Kb2YgRXh0VGV4dE91dEEvVywgaS5lLiBzZXR0aW5n
IHRoZSBkeCB0byBhbiBhcHByb3ByaWF0ZSB2YWx1ZS5ccGFyDQpJIGhhdmUgbm90IHRyaWVkIGl0
IGJ1dCBpdCBtYXkgYmUgdGhlIHBsYWNlIHRvIHN0YXJ0IGV4cGVyaW1lbnRzLlxwYXINClxwYXIN
Ci0gSm9zZWZccGFyDQpccGFyDQpccGFyDQotLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tIFxw
YXINCkZyb206ICJUcmV1dHdlaW4gQmVybmhhcmQiIDxCZXJuaGFyZC5UcmV1dHdlaW5AVkVSV0FM
VFVORy5VTkktTVVFTkNIRU4uREU+XHBhcg0KVG86IDxCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0g+
XHBhcg0KU2VudDogVHVlc2RheSwgTWFyY2ggMTcsIDIwMDkgNDozMCBQTVxwYXINClN1YmplY3Q6
IFJlOiBbQkxBQ0tCT1hdIHVuZGVybGluaW5nIHNwYWNlc1xwYXINClxwYXINClxwYXINCkhpIEpv
LFxwYXINClxwYXINCndoYXQgYWJvdXQgdXNpbmcgdGhlIGNvbWJpbmF0aW9uIG9mIGEgemVybyB3
aWR0aCBzcGFjZSBhbmQgYSBub24tYnJlYWtpbmdccGFyDQpzcGFjZT9ccGFyDQppLmUuOiA4QiBh
bmQgQTAuIEl0IGRvZXMgbm90IGxvb2sgdGhhdCBnb29kIGF0IGEgbGluZSBlbmQgYW5kIGJlaGF2
ZXMgYVxwYXINCmxpdHRsZSBccGFyDQpiaXQgc3RyYW5nZSBkdXJpbmcgc2VsZWN0aW9uLCBpLmUu
IHNoaWZ0IGN1cnNvci4gSXQgZG9lcyBsaW5lIGJyZWFraW5nXHBhcg0KY29ycmVjdCxccGFyDQpi
dXQgaXQgaXMgYWxzbyBkaWZmaWN1bHQgZm9yIHNlYXJjaGluZyBhbmQgSSBoYXZlIG5vIGlkZWEg
aG93IGl0IGhhbmRsZXMgdmlhIFxwYXINCmNsaXBib2FyZC9ydGYuXHBhcg0KLS1ccGFyDQogIEJl
cm5oYXJkIFxwYXINClxwYXINClN0ZENvZGVyLkRlY29kZSAuLiwsIC4uWkYuLi4uM1F3N3VQNVBS
UFBOUjlSYmY5YjhSNzlGVHZNZjFHb21DcmxBeTJ4aFgsQ2IyeFxwYXINCiBoWGhDNkZVMXhoaVpp
VkJoaWhnbVJpaW9lZGhnclpjWlJpWEZmYXFtU3J0dUdmYTQ3MDB6ZEdycjhybUNMTENKdXlLdFlj
WlJpWFxwYXINCiA3LjIucyxjdTUuLDYuNVF3N3VQNTFRQ1B1UDdQTk45Rjl2UUF5MXhCLmdkaixV
QnhoWWhBYmY5UDBHMnNJZHZQWm50Z2NnaGdoWlxwYXINCiBjWlJDOFQwRS5FUUMuSC5WdC4yLixV
MDhKOTlTZGZKSFBOanZRQ0p1R0tmYXFtWTZNd2RPTmwxUUNoMDcwOFQsVS4udy5JdjAuLFxwYXIN
CiBzVUdwbVdiQnhoWWhBYm5kTUhUOU5ZNk13LnNRcTJZNmN3Qi4wLjc1VC50NCwuZzgyVTAwLmJu
VUdMdThybzhxdUdybUNMV0txdFxwYXINCiBFMEUuLi54LjAuNC5BY21CaFZaQmw2dzFFLEU2NS5n
RHd6MFpoVjNvOUtnZ0JnVTAzOVAxMTJJY00uMDhFRWpNbG00ODQySVVXLFxwYXINCiAsM2NNRUUs
ODQySVVXLCwzY01FRSw4NElrbGJlWmxWeUtyR0x0eUtxbXFtOHJ0dW1kR2IxWmltWmgyaGduUmcu
QVMuLm9aMXhoaVxwYXINCiBaQ1UyaGduUmcuc0VNTS5FdC4uLmt0dTAuWTYyVW0xLC5kLiwuSEUu
MlUuLlUsSWtsYmVaRmRLTHFLS3RDTExDM1pPUk5YMlYuQVxwYXINCiB5SSxrdHVHZEtMcUthMlYu
SXkxVS4yLmk4Uy5DODBFLlFFLnNRUnRJUWVvQmpnaGcyaGduNy5YNS51MG45UFUuSXk1LiwuNjBj
S1xwYXINCiA2LixVMDAudW1VRzUuNzAsRTBFLi4uNywsTS4sLiwuLHRjcDAwa1hhdC53bmpsLmsu
RS4wLjNnd1AuMC4uSTE2Lk0uRUoyd0FDLlxwYXINCiA2LlZRLkUuLllWc0g0RUtpdGhRVnM5RTNR
dzcwLjV1UC4uMjAyLi5FMkUuVUEyLjBFdXFwdDJZYlFJLEF6SkUublQzWXlVM0IsaFxwYXINCiA4
bDJpWS4uLi5ccGFyDQogLS0tIGVuZCBvZiBlbmNvZGluZyAtLS1ccGFyDQogXHBhcg0KXHBhcg0K
PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLVxwYXINCj4gRnJvbTogQmxhY2tCb3ggW21haWx0
bzpCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hdIE9uIEJlaGFsZiBPZiBccGFyDQo+IEpvc2VmIFRl
bXBsXHBhcg0KPiBTZW50OiBGcmlkYXksIE1hcmNoIDEzLCAyMDA5IDE6MTIgUE1ccGFyDQo+IFRv
OiBCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hccGFyDQo+IFN1YmplY3Q6IFJlOiBbQkxBQ0tCT1hd
IHVuZGVybGluaW5nIHNwYWNlc1xwYXINCj4gXHBhcg0KPiBccGFyDQo+IFRoZSBub24tYnJlYWtp
bmctc3BhY2UgKGNoYXJhY3RlciBBMCkgd29ya3MgZmluZSBpbiBccGFyDQo+IG1vc3QgY2FzZXMg
Zm9yIG1lIGFzIGEgZGV2ZWxvcGVyIFxwYXINCj4gYnV0IGZvciBhbiBlbmQtdXNlciBpdCBpcyBo
YXJkIHRvIGV4cGxhaW4uIEl0IGFsc28gXHBhcg0KPiBsZWFkcyB0byBwb3NzaWJseSB1bndhbnRl
ZCBlZmZlY3RzIHN1Y2ggYXMgJ25vbi1icmVha2luZycgXHBhcg0KPiBvciwgaW4gdGhlIGNhc2Ug
b2YgdXNpbmcgYSBkaWdpdCBzcGFjZSwgYSBsYXJnZXIgZ2FwLlxwYXINCj4gSXQgaXMgYWxzbyB0
cmVhdGVkIGFzIGEgZGlmZmVyZW50IGNoYXIgaW4gYSB0ZXh0IHNlYXJjaCBjb21tYW5kLlxwYXIN
Cj4gSWYgeW91IGltcG9ydCBlLmcgUlRGIHRleHQgb3ZlciB0aGUgY2xpcGJvYXJkXHBhcg0KPiBp
dCB3b3VsZCBhbHNvIG5lZWQgdGhlIHRleHQgdG8gYmUgZWRpdGVkIGFmdGVyXHBhcg0KPiBwYXN0
aW5nLCB3aGljaCBpcyBzaW1wbHkgdG9vIG11Y2ggd29yay5ccGFyDQo+IFxwYXINCj4gLSBKb3Nl
ZlxwYXINCj4gXHBhcg0KPiBccGFyDQo+IC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0gXHBh
cg0KPiBGcm9tOiAiQ2FtcGJlbGwsIFJvYmVydCAoU0VMRVggR0FMSUxFTywgVUspIiBccGFyDQo+
IDxSb2JlcnQuRC5DYW1wYmVsbEBTRUxFWEdBTElMRU8uQ09NPlxwYXINCj4gVG86IDxCTEFDS0JP
WEBMSVNUUy5PQkVST04uQ0g+XHBhcg0KPiBTZW50OiBGcmlkYXksIE1hcmNoIDEzLCAyMDA5IDEy
OjM1IFBNXHBhcg0KPiBTdWJqZWN0OiBSZTogW0JMQUNLQk9YXSB1bmRlcmxpbmluZyBzcGFjZXNc
cGFyDQo+IFxwYXINCj4gXHBhcg0KPiBJIHVzZSBBU0NJSSBjaGFyYWN0ZXIgQTAsIHJhdGhlciB0
aGFuIHRoZSB1c3VhbCBzcGFjZSAyMC4gXHBhcg0KPiBccGFyDQo+IENoZWVyc1xwYXINCj4gXHBh
cg0KPiBSb2JlcnRccGFyDQo+IFxwYXINCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS1c
cGFyDQo+ID4+IEhpIEV2ZXJ5Ym9keSFccGFyDQo+ID4+ICBccGFyDQo+ID4+IEluIHRoZSBCQiB0
ZXh0IHN1YnN5c3RlbSBhIHNwYWNlIGNoYXJhY3RlciBpcyBub3Qgc2hvd24gYXMgXHBhcg0KPiA+
PiB1bmRlcmxpbmVkIGlmIHRoZSAndW5kZXJsaW5lZCcgYXR0cmlidXRlIGlzIHNldC5ccGFyDQo+
ID4+ICBccGFyDQo+ID4+IEkga25vdyB0aGF0IHRoaXMgd2FzIHNvIGZyb20gdGhlIGJlZ2lubmlu
ZyBvZiBCQiwgYnV0IFxwYXINCj4gPj4gbmV2ZXJ0aGVsZXNzIEkgd291bGQgbGlrZSB0byBhc2sg
aWYgdGhlcmUgaXMgYW55IHJlYXNvbiBmb3IgXHBhcg0KPiA+PiB0aGlzIGJlaGF2aW9yLlxwYXIN
Cj4gPj4gQWxsIHRleHQgc3lzdGVtcyBvbiB0aGUgbWFya2V0IGRvIGl0IHRoZSBvdGhlciB3YXkg
cm91bmQsIFxwYXINCj4gPj4gaS5lIHRoZXkgdW5kZXJsaW5lIHNwYWNlIGNoYXJhY3RlcnMuXHBh
cg0KPiA+PiBUaGlzIGdpdmVzIHRoZSB1c2VyIG1vcmUgY29udHJvbCwgYmVjYXVzZSBoZSBjYW4g
ZXhwcmVzcyBccGFyDQo+ID4+IGJvdGggY2FzZXMsIHVuZGVybGluZWQgYW5kIG5vdCBieSBzcGVj
aWZ5aW5nIHRoZSBhdHRyaWJ1dGUsIG9yIG5vdC5ccGFyDQo+ID4+ICBccGFyDQo+ID4+IFdvdWxk
IGl0IGJlIGhhcmQgdG8gY2hhbmdlIHRoYXQgaW4gdGhlIHRleHQgc3Vic3lzdGVtP1xwYXINCj4g
Pj4gV291bGQgaXQgYnJlYWsgc29tZXRoaW5nIGltcG9ydGFudD9ccGFyDQo+ID4+ICBccGFyDQo+
ID4+IC0gSm9zZWZccGFyDQo+ID4+IFxwYXINCj4gXHBhcg0KPiBccGFyDQo+IC0tLS1ccGFyDQo+
IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tC
T1giIFxwYXINCj4gdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIXHBhcg0KPiBccGFyDQpccGFy
DQpccGFyDQotLS0tXHBhcg0KVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9k
eSAiU0lHTk9GRiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIXHBhcg0KXHBh
cg0KXHBhcg0KLS0tLVxwYXINClRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJv
ZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CfX0AMEtlMXhtTWx4bWI=
----boundary-LibPST-iamunique-285676151_-_---
Received on Tue Mar 17 2009 - 17:40:30 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:48 UTC