Or, look at here :
http://www.jsoftware.com/jwiki/Essays/Boxed%20Array%20Display


On Sun, Apr 27, 2014 at 12:05 PM, June Kim (김창준) <[email protected]> wrote:

> It was 2010 Mar.
>
> The following was copied from Roger's post. Use it as : jhtml thh (< 2 2 $
> ;:'5 asd gg h') (<0;0)}": each <"0 i.2 5
>
> boxed  =: 32 = 3!:0
> mt     =: 0 e. $
> boxc   =: 9!:6 ''
> tcorn  =: 2  0{boxc
> tint   =: 1 10{boxc
> bcorn  =: 8  6{boxc
> bint   =: 7 10{boxc
>
> sh     =: (*/@}: , {:)@(1&,)@$ ($,) ]
> rows   =: */\.@}:@$
> bl     =: }.@(,&0)@(+/)@(0&=)@(|/ i.@{.@(,&1))
> mask   =: 1&,. #&, ,.&0@>:@i.@#
> mat    =: mask@bl@rows { ' ' , sh
>
> edge   =: ,@(1&,.)@[ }.@# +:@#@[ $ ]
> left   =: edge&(3 9{boxc)@>@(0&{)@[ , "0 1"2 ]
> right  =: edge&(5 9{boxc)@>@(0&{)@[ ,~"0 1"2 ]
> top    =: 1&|.@(tcorn&,)@(edge&tint)@>@(1&{)@[ ,"2  ]
> bot    =: 1&|.@(bcorn&,)@(edge&bint)@>@(1&{)@[ ,"2~ ]
> perim  =: [ top [ bot [ left right
>
> topleft=: (4{boxc)&((<0 0)}) @ ((_2{boxc)&,.) @ ((_1{boxc)&,)
> inside =: 1 1&}. @: ; @: (,.&.>/"1) @: (topleft&.>)
> take   =: {. ' '"_^:mt
> frame  =: [ perim {@[ inside@:(take&.>)"2 ,:^:(1=#@$)@]
> rc     =: (>./@sh&.>) @: (,.@|:"2@:(0&{"1);1&{"1) @: ($&>)
>
> thorn1 =: ":`thbox @. boxed
> thbox  =: (rc frame ]) @: (mat@thorn1&.>)
>
> nmat    =: +/&.:<:@(*/\)@}:@$                       NB. #@mat
> nbsp    =: [: ; ((<' ') 32}<"0 a.) {~ a. i. ]  NB. replace space by
> pad     =: '<br>' $~ 4 * *@[ * -
>
> BOXCHARS=:  9!:6 ''     NB. box drawing characters
> SPACER  =: '<tr class=spacer><td> </td></tr>',CRLF
>
> JARRAYSTYLE=: 0 : 0
> <style type="text/css">
> .jarray {font-family:monospace;}
> table.jarray {border-collapse:collapse;}
> table.jarray td {border:solid black thin; vertical-align:top;
> padding:0.4em;}
> table.jarray tr.spacer td {border:none;}
> </style>
> )
>
> thh=: 3 : 0  NB. "thorn" (array formatting) producing HTML output
>  JARRAYSTYLE,'<div class=jarray>',(0 thh y),'</div>'
> :
>  if. (0 e. $y) >: 32=3!:0 y do.                 NB. y is empty or not boxed
>   nbsp _4}.(,z),x pad #z=. (mat ":y),"1 '<br>'
>  else.                                          NB. y is boxed
>   s=. {."1 (_2{.$t) ($,) t=. ":y                NB. s is 1st column in 1st
> plane in ":y
>   h=. <: 2 -~/\ I. s e. 0 3 6{ (9!:6 '')          NB. height (# lines) in
> each row
>   z=. h thh&.>"2 ,:^:(0>.2-#$y) y               NB. format each atom
>   z=. ('<td>','</td>',~])&.> z                  NB. bracket each atom
>   z=. <@('<tr>','</tr>',~;)"1 z                 NB. bracket each row
>   '<table class=jarray>',(;(mask bl rows y){SPACER;,z),'</table>',(_4}.x
> pad nmat t),CRLF
>  end.
> )
>
>
> On Sun, Apr 27, 2014 at 11:23 AM, Pascal Jasmin <[email protected]>wrote:
>
>> could not find anything good.
>>
>> there is jhtr_jhs_ though
>>
>> works well for 2d data.
>>
>>    jhtr_jhs_"1 ": each <"0 i.2 5
>> <tr><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td></tr>
>> <tr><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td></tr>
>>
>> not so well here:
>>
>>    jhtr_jhs_ "1 S:1  (< 2 2 $ ;:'5 asd gg h') (<0;0)}": each <"0 i.2 5
>> <tr><td>5</td><td>asd</td></tr>
>> <tr><td>gg</td><td>h</td></tr>
>> <tr><td>1</td></tr>
>>
>> <tr><td>2</td></tr>
>>
>> <tr><td>3</td></tr>
>>
>> <tr><td>4</td></tr>
>>
>> <tr><td>5</td></tr>
>>
>> <tr><td>6</td></tr>
>>
>> <tr><td>7</td></tr>
>>
>> <tr><td>8</td></tr>
>>
>> <tr><td>9</td></tr>
>>
>> though this may fix it?
>>
>>    b2t =: '<table border="1">' , '</table>' ,~ jhtr"1
>>    jhtr =: 3 : '''<tr>'',''</tr>'',~;((<''<td>''), each b2t^:(0<L.) each
>> y),each<''</td>'''
>>
>>    b2t  (< 2 2 $ ;:'5 asd gg h') (<0;0)}": each <"0 i.2 5
>> <table border="1">
>> <tr>
>>
>> <td>
>> <table border="1">
>> <tr><td>5</td><td>asd</td></tr>
>> <tr><td>gg</td><td>h</td></tr>
>> </table>
>> </td>
>> <td>1</td>
>> <td>2</td>
>> <td>3</td>
>> <td>4</td>
>> </tr>
>> <tr><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td></tr>
>>
>>   </table>
>>
>>     b2t  ": each <"0 i.2 5
>> <table border="1">
>> <tr><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td></tr>
>> <tr><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td></tr>
>> </table>
>>
>>
>>
>>
>>
>> ----- Original Message -----
>> From: June Kim (김창준) <[email protected]>
>> To: Programming forum <[email protected]>
>> Cc:
>> Sent: Saturday, April 26, 2014 8:26:08 PM
>> Subject: Re: [Jprogramming] Unicode boxed display
>>
>> There is a verb for translating a boxed data into a html table, though
>> incomplete yet, as I remember(I haven't been using it for a while). You
>> may
>> want to search here or the jwiki.
>>
>> sent from an android phone
>> 2014. 4. 27. 오전 8:11에 "'Pascal Jasmin' via Programming" <
>> [email protected]>님이 작성:
>>
>> > would be nice.  I requested the same about a month ago, though that was
>> > really about special treatment for latin-1 characters.
>> >
>> > as you may be aware, utf8 has a variable 1 or 2 character encoding
>> > depending on the character, and it would be harder to box, but I am sure
>> > that even with full wchars, the approach of trying to pad with spaces
>> > cannot work, especially not accross jhs and jqt.
>> >
>> > Without resorting to OS calls for textwidth, and drawing on OS
>> > canvas/pictureboxes, an approach that would be reasonable is converting
>> to
>> > html table, and then blaming qt, chrome and firefox if it doesn't look
>> > right.
>> >
>> > this command in jhs looks ok: (using new editable table feature)
>> >
>> > jtable 'e2';'n' [ n=: ,: <"1 ] 4 u: 97 98 99 +/ 0 256 512 1024
>> >
>> > so it will at least look good this way?
>> >
>> > Converting boxed data to an html table fragment seems useful enough to
>> > have been done before.  Has it? (already jhs util?)
>> >
>> >
>> >
>> >
>> > ----- Original Message -----
>> > From: Henry Rich <[email protected]>
>> > To: Programming forum <[email protected]>
>> > Cc:
>> > Sent: Saturday, April 26, 2014 5:02:12 PM
>> > Subject: [Jprogramming] Unicode boxed display
>> >
>> > Display of boxes containing non-ASCII characters messes up the alignment
>> > of the boxes.  Has anyone written a verb to format such boxes so that
>> > the boxes line up?
>> >
>> > Henry Rich
>> > ----------------------------------------------------------------------
>> > For information about J forums see http://www.jsoftware.com/forums.htm
>>
>> >
>> > ----------------------------------------------------------------------
>> > For information about J forums see http://www.jsoftware.com/forums.htm
>> >
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>
>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to