Unicode border drawing characters (NOT box drawing characters) - unicode

Sorry if the title is a bit confusing, I couldn't really find any other way to describe it.
The standard unicode box-drawing characters are positioned in the center of a character cell. This can cause visual discontinuity when these characters are used to draw borders for windows; because they are positioned in the center, there is empty space between the the bordering cells and the actual border. Here's an example of what I mean:
Is there an equivalent for unicode box drawing characters that are aligned to the right/left/top/bottom edges of a character box, so that there is no empty space between the character and bordering cell?
There are left and right aligned bar characters, such as ⎸, but they don't compose into a nice continuous line like the box drawing chars do.

Closest I could find:
▁ U+2581 LOWER ONE EIGHTH BLOCK
▏ U+258F LEFT ONE EIGHTH BLOCK
▔ U+2594 UPPER ONE EIGHTH BLOCK
▕ U+2595 RIGHT ONE EIGHTH BLOCK
Left/right tuck right up to the FULL BLOCK on my display, but upper/lower don't. The font in my browser has the lower one narrower than the upper one as well.
▁▁▁
▕████▏
▔▔
Full list of BLOCK characters (display depends on the font):
␗ U+2417 SYMBOL FOR END OF TRANSMISSION BLOCK
▀ U+2580 UPPER HALF BLOCK
▁ U+2581 LOWER ONE EIGHTH BLOCK
▂ U+2582 LOWER ONE QUARTER BLOCK
▃ U+2583 LOWER THREE EIGHTHS BLOCK
▄ U+2584 LOWER HALF BLOCK
▅ U+2585 LOWER FIVE EIGHTHS BLOCK
▆ U+2586 LOWER THREE QUARTERS BLOCK
▇ U+2587 LOWER SEVEN EIGHTHS BLOCK
█ U+2588 FULL BLOCK
▉ U+2589 LEFT SEVEN EIGHTHS BLOCK
▊ U+258A LEFT THREE QUARTERS BLOCK
▋ U+258B LEFT FIVE EIGHTHS BLOCK
▌ U+258C LEFT HALF BLOCK
▍ U+258D LEFT THREE EIGHTHS BLOCK
▎ U+258E LEFT ONE QUARTER BLOCK
▏ U+258F LEFT ONE EIGHTH BLOCK
▐ U+2590 RIGHT HALF BLOCK
▔ U+2594 UPPER ONE EIGHTH BLOCK
▕ U+2595 RIGHT ONE EIGHTH BLOCK

Related

Gtk.Label line wrap not working as expected

when width is sufficient to hold all characters
when characters exceed width
i have used set_line_wrap(True).There are two labels in each row as shown in picture, right label in each row has set_line_wrap(True), why is the label in the second row not starting from the beginning? when characters exceeds, i expect it to start from same position where it started before when characters were not exceeding.
Code:
descriptionLabel=Gtk.Label(description)
descriptionLabel.set_line_wrap(True)
Try setting halign to Gtk.AlignSTART and xalign to 0. This should ensure that both the label as a whole and each individual line starts at the very left of the available space.

Edit dash size in links? (Dashes invisible in thick links)

In NetLogo 6.1.1, in the link editor, there are four line styles: solid, dotted, dashed, and a more complex dashed pattern.
However, when the visual representation of a link is thick, the spaces between dashes become invisible. It seems that the thickening surrounds each point in every direction, so that in thick lines, the color of the line overlaps the space between dashes.
Is there any way to edit dashes to create more space (or to produce better behavior for thick lines)?

How to add blank space in parameter dialogs

I would like to add vertical blank space between two lines in a Modelica component GUI. I have (in this case), six similar looking parameters/comments within a group on a tab that I would like to visually break into two plus four by using a little space after the second one (essentially a blank line, but ideally I would have some control over the gap space).
I can put the last four in a separate group with no name, which gives a line in between the two/four. This is better than nothing, but not really what I want. I tried using groupImage, but it locates the image relative to whole group, so if it's smaller than the six entries, it doesn't affect them at all; and if it's larger, it introduces uniform spacing between all the entries, rather than just between 2/3.

precise scaling of matlab textboxes with axes magnification

I would like to have a text box rescale with the level of magnification, such that one unit of text is always assigned one unit of horizontal axis-length. The text width should not change but rather the spacing between characters.
For instance, if the x-axis displayed [0:50], fifty characters should be displayed, one at each integer position. If the magnification was increased such that the display comprised only [0:10], only ten characters would be displayed, again placing one character at each integer position along the horizontal axis.
Finally, the text would ideally not display when the magnification level was below some threshold determined by the number of characters that can be legibly printed along a horizontal line spanning the extent of the axes.
I have tried using the text object, but it doesn't seem to have the relevant properties to allow such dynamic behavior. I have instead considered breaking the N-length string into N unit-length strings and placing each at a defined x-position, but I'm having trouble figuring out how to display only those relevant at the prevailing zoom level (there is some spill-over of characters beyond the bounds of the axis). In contrast, with this approach, all the characters appear as a jumble at zoom levels so low that the number of characters printed cannot be reasonably accommodated.
Thus, I inquire whether another solution besides printing a series of unit-length strings might be advised and, if not, how the twin problems of text spill-over and text overlap can be resolved at high and low zoom, respectively (the first might be done by somehow preventing printing of information outside the axes; the second seems to require some dynamic magnification-aware means of suppressing text output at or above a certain x-axis extent).

Character extraction - dots are recognized separately from the character

I'm doing character recognition for a regional language. While extracting the image, the dots are being separately identified as characters.
%% Plot Bounding Box
for n=1:size(propied,1)
rectangle('Position',propied(n).BoundingBox,'EdgeColor','g','LineWidth',2)
end
hold off
%% Characters being Extracted
figure
for n=1:Ne
[r,c] = find(L==n);
n1=imagen(min(r):max(r),min(c):max(c));
imshow(~n1);
end
Original code: http://www.mathworks.com/matlabcentral/fileexchange/22922-image-segmentation-extraction
Since you are doing character/text recognition, you are more likely to want collections of words or lines of text, and not individual characters. And if you really want to do the latter, then it is more robust after you have identified the individual words.
So, the simplest approach here is using the standard morphological opening (assuming the text is black, otherwise use closing) operator. Start with a large horizontal structuring element (SE). Applying a opening with this SE will divide your image in lines of text. In each line you use a shorter horizontal SE to obtain the individual words. Then for each word you consider a vertical SE for opening such that it joins accents and other typographical details.
For example, here is an input image, its opening with a horizontal SE of radius 35, the opening with a horizontal SE of radius 7, and a opening with a vertical SE of radius 7.
I didn't apply the third operation in isolated components, but you should do so to not risk joining two lines of text. And this is all assuming straight horizontal lines of text, of course. Drawing the bounding boxes on this final image gives the result you are after:
Note that some letters ("ty", and "ny") were connected in the beginning, so they appear as a single letter in this output. This is a separate problem to be handled, which might or not be a concern for you.