TSE: Issue: About border characters

54 views
Skip to first unread message

knud van eeden

unread,
Jun 25, 2025, 4:30:48 PM6/25/25
to SemWare TSE Pro Text Editor
Hello,

1. Note: Similar to this has been reported before by another user.

2. The border characters should thus possibly be configurable.

3. If (all) these (border) characters (e.g. around the menus, around the TSE windows, scrollbar, ...) are configurable, how to change those to other more convenient looking characters?


Thanks
with friendly greetings
Knud van Eeden

Example: If using the 'Perfect DOS VGA 437' font and borders on:
Inline image

If using Courier New font and borders on:

Inline image

H P

unread,
Jun 25, 2025, 7:15:12 PM6/25/25
to sem...@googlegroups.com
Knud,

If it's in windows you'want the lines you can use the following which I use to make a helpscreen with single borderline.
========================================================================
    Integer i_OrgHelpTextAttr                /** variable for orginal helptextattribute        */
    Integer i_OrgMenuborderAttr              /** variable for orginal menuborder attribute     */
    Integer i_PointSize
    Integer i_Flags
    String  s_FontName[32]      = ""
    GetFont(s_Fontname, i_PointSize, i_Flags)         /** get font pointsize amd oem   */
    If i_Flags == _NONE_
        SetFont(s_Fontname, i_PointSize, _FONT_OEM_)  /** if font oem is off then set it on */
    EndIf

    i_OrgHelpTextAttr   = Query(HelpTextAttr)    /** save original helptextattribute               */
    i_OrgMenuborderAttr = Query(MenuBorderAttr)  /** save original menuborderattribute             */

    Set(HelpTextAttr, 0xb0)                      /** set intense black on green helptextattribute  */
    Set(MenuBorderAttr, 0x0b)                    /** set bright green on black menuborderattribute */

    QuickHelp(LangAssignments)

    Set(HelpTextAttr, i_OrgHelpTextAttr)         /** set original helptextattribute back   */
    Set(MenuBorderAttr, i_OrgMenuborderAttr)     /** set original menuborderattribute back */

    SetFont(s_Fontname, i_PointSize, i_Flags)    /** set font back as it was before        */
========================================================================

It does however not work on a linux laptop with ubuntu.


Met vriendelijke groet,
With kind regards,
Muy atentamente,
Mit Freundliche Gruß,
Sinceramente,


H. Pikaar

Henri...@gmail.com



Op wo 25 jun 2025 om 22:30 schreef 'knud van eeden' via SemWare TSE Pro text editor <sem...@googlegroups.com>:
--

---
You received this message because you are subscribed to the Google Groups "SemWare TSE Pro text editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semware+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/semware/1145381102.2569993.1750883440860%40mail.yahoo.com.

knud van eeden

unread,
Jun 25, 2025, 7:33:47 PM6/25/25
to sem...@googlegroups.com
Henriques,

Thanks for that.

It does not do much in TSE for Microsoft Windows.

But the idea is certainly there,
that is use Set() and Query() to set certain
attributes.

So worked out further expected is that it might resolve the issue.

Regarding TSE for Linux, GetFont() and so on do thus not work.
One will see only 'Warning' when asking e.g. for the font name
using 'Warn()'.

with friendly greetings
Knud van Eeden

knud van eeden

unread,
Jun 25, 2025, 7:52:45 PM6/25/25
to sem...@googlegroups.com
ChatGPT came up with this TSE program.

Now we know that everything in TSE g32.exe is thus a form of graphics canvas to write on,
this certainly is an interesting approach to work from, ChatGPT seems to know already that
TSE g32.exe is graphics ;-)

Prompt: 

> Can you write a The Semware Editor SAL program that changes the characters used to create the 
border of the window in which TSE runs. 


---

PROC Main()

  integer leftI   = 10
  integer top    = 5
  integer rightI  = 70
  integer bottom = 20
  integer i

  string ch_H[1]  = "-"  // horizontal
  string ch_V[1]  = "¦"  // vertical
  string ch_TL[1] = "+"  // top-leftI corner
  string ch_TR[1] = "+"  // top-rightI corner
  string ch_BL[1] = "+"  // bottom-leftI corner
  string ch_BR[1] = "+"  // bottom-rightI corner

  // Top and bottom horizontal lines
  FOR i = leftI + 1 TO rightI - 1
    GotoXY(i, top)
    PutChar(ch_H)
    GotoXY(i, bottom)
    PutChar(ch_H)
  ENDFOR

  // leftI and rightI vertical lines
  FOR i = top + 1 TO bottom - 1
    GotoXY(leftI, i)
    PutChar(ch_V)
    GotoXY(rightI, i)
    PutChar(ch_V)
  ENDFOR

  // Corners
  GotoXY(leftI, top)
  PutChar(ch_TL)
  GotoXY(rightI, top)
  PutChar(ch_TR)
  GotoXY(leftI, bottom)
  PutChar(ch_BL)
  GotoXY(rightI, bottom)
  PutChar(ch_BR)

  WaitForKeyPressed(0)

END

---

Just a matter of choosing the right dimensions and position of the border rectangle
and the start is there.

And it works in Linux WSL Ubuntu also out of the box (see screenshot).

Inline image

Inline image

H P

unread,
Jun 25, 2025, 8:27:45 PM6/25/25
to sem...@googlegroups.com
Knudde, 

I'm using courier new my chcp is 850 and with this I have a neat borderline and that is for setting oem.



Met vriendelijke groet,
With kind regards,
Muy atentamente,
Mit Freundliche Gruß,
Sinceramente,


H. Pikaar

Henri...@gmail.com


Op do 26 jun 2025, 01:52 schreef 'knud van eeden' via SemWare TSE Pro text editor <sem...@googlegroups.com>:

H P

unread,
Jun 25, 2025, 8:29:40 PM6/25/25
to sem...@googlegroups.com
Knud,

Sorry I saw to late what my phone made of you're name.



Met vriendelijke groet,
With kind regards,
Muy atentamente,
Mit Freundliche Gruß,
Sinceramente,


H. Pikaar

Henri...@gmail.com


Op do 26 jun 2025, 02:27 schreef H P <henri...@gmail.com>:

Carlo Hogeveen

unread,
Jun 26, 2025, 4:18:38 AM6/26/25
to sem...@googlegroups.com

If your macro would use PutOEMStrXY() instead of PutChar(), then it would output code page 437-like characters and could thus do real line drawing.
Here you can find what code page 437's line drawing characters are:
https://ecarlo.nl/tse/files/CodePages.html#SideBySide

Carlo



Knud van Eeden

unread,
Jun 27, 2025, 12:20:38 PM6/27/25
to sem...@googlegroups.com, Knud van Eeden
Yes, with Courier New it looks rather OK, but another user already pointed out if SemWare could not replace e.g. the '+/-' characters with something more smooth.

But you use a fond like 'Perfect DOS VGA 437' then you get really odd characters thus.

with friendly greetings
Knud van Eeden

Knud van Eeden

unread,
Jun 27, 2025, 12:32:09 PM6/27/25
to sem...@googlegroups.com
Thanks.

In TSE Microsoft Windows OK,
in TSE Linux still the odd characters, but it works.

---

 PROC Main()

  integer leftI   = 10
  integer top    = 5
  integer rightI  = 70
  integer bottom = 20
  integer i

  string ch_H[1]  = "-"  // horizontal
  string ch_V[1]  = "¦"  // vertical
  string ch_TL[1] = "+"  // top-leftI corner
  string ch_TR[1] = "+"  // top-rightI corner
  string ch_BL[1] = "+"  // bottom-leftI corner
  string ch_BR[1] = "+"  // bottom-rightI corner

  // Top and bottom horizontal lines
  FOR i = leftI + 1 TO rightI - 1
    // GotoXY(i, top)
    PutOEMStrXY(i, top, ch_H)
    // GotoXY(i, bottom)
    PutOEMStrXY(i, bottom, ch_H)

  ENDFOR

  // leftI and rightI vertical lines
  FOR i = top + 1 TO bottom - 1
    // GotoXY(leftI, i)
    PutOEMStrXY(leftI, i, ch_V)
    // GotoXY(rightI, i)
    PutOEMStrXY(rightI, i, ch_V)
  ENDFOR

  // Corners
  // GotoXY(leftI, top)
  PutOEMStrXY(leftI, top, ch_TL)
  // GotoXY(rightI, top)
  PutOEMStrXY(rightI, top, ch_TR)
  // GotoXY(leftI, bottom)
  PutOEMStrXY(leftI, bottom, ch_BL)
  // GotoXY(rightI, bottom)
  PutOEMStrXY(rightI, bottom, ch_BR)

  WaitForKeyPressed(0)

 END

---

with friendly greetings
Knud van Eeden

image.png

image.png


--

---
You received this message because you are subscribed to the Google Groups "SemWare TSE Pro text editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semware+u...@googlegroups.com.

S.E. Mitchell

unread,
Jun 28, 2025, 9:08:53 AM6/28/25
to sem...@googlegroups.com
Do any other fonts exhibit this problem?
I don't have Perfect DOS VGA, and even the author says you should not use it.
--


--

---
You received this message because you are subscribed to the Google Groups "SemWare TSE Pro text editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semware+u...@googlegroups.com.

S.E. Mitchell

unread,
Jun 28, 2025, 9:25:47 AM6/28/25
to sem...@googlegroups.com
Uh oh.  I went ahead and installed Perfect DOS VGA 437.ttf, but it works fine for me!
image.png

image.png

knud van eeden

unread,
Jun 28, 2025, 10:02:55 AM6/28/25
to sem...@googlegroups.com
well, e.g. default font Courier New shows these '+/-' characters in the vertical scrollbar on the right.

Not sure if that is intentional?





Sent from Yahoo Mail on Samsung Galaxy S24 Ultra / 1 terabyte / artificial intelligence

knud van eeden

unread,
Jun 28, 2025, 10:04:35 AM6/28/25
to sem...@googlegroups.com
But is the border set to 'on'?



Sent from Yahoo Mail on Samsung Galaxy S24 Ultra / 1 terabyte / artificial intelligence

S.E. Mitchell

unread,
Jun 28, 2025, 10:17:45 AM6/28/25
to sem...@googlegroups.com
Courier new font, scroll bars look ok to me:

image.png

S.E. Mitchell

unread,
Jun 28, 2025, 10:21:01 AM6/28/25
to sem...@googlegroups.com
Yes - shown using Perfect DOS VGA 437:

image.png



knud van eeden

unread,
Jun 28, 2025, 10:38:58 AM6/28/25
to sem...@googlegroups.com
That is not what I see thus in  Courier New. I see the '+/-' characters always as far as I know now.

It can not be a codepage difference because I use now permanently and globally 437 which must be also the same as your Codepage (437).

So if you run

proc main()
 Warn( Query( CodePage ) )
end

it should also show 437.

Which version is shown here, I assume thus 4.50.6 which I can not run. 
So mine is always 4.50 official release. Maybe some change there, there was thus a user before who also made remarks about those border characters used.

It is thus always Linux WSL Ubuntu running on Microsoft Windows professional 10.

Further can one start wsl.exe inside: or tcc.exe, or cmd.exe, or powershell.exe or wt.exe.

For me it is basically always inside tcc.exe.



Sent from Yahoo Mail on Samsung Galaxy S24 Ultra / 1 terabyte / artificial intelligence

Knud van Eeden

unread,
Jun 30, 2025, 7:35:02 PM6/30/25
to sem...@googlegroups.com, sammy.mitchell, Knud van Eeden
I tested it now with TSE Linux 4.50.6, but still the border issue.

So looking at your screenshot, that looks like some kind of miracle that you see no strange characters in the border when choosing 'Perfect DOS VGA 437'.

If so then you managed maybe to download a more 'perfect' font 'Perfect DOS VGA 437'?

Could you please inform where you downloaded that 'Perfect DOS VGA 437' in that case.

Thanks
image.png

zhong zhao

unread,
Jun 30, 2025, 8:54:32 PM6/30/25
to SemWare TSE Pro text editor
ascii.bmp
test.cpp

knud van eeden

unread,
Jul 1, 2025, 5:57:04 AM7/1/25
to SemWare TSE Pro text editor
1. That should thus be code page 437 for some font.

2. Is that font 'Perfect DOS VGA 437'?

3. If that font is 'Perfect DOS VGA 437' could you then send a download link?

4. If that font is 'Perfect DOS VGA 437' could you otherwise send that font installation file to me?

Thanks
with friendly greetings
Knud van Eeden


knud van eeden

unread,
Jul 1, 2025, 1:27:04 PM7/1/25
to SemWare TSE Pro text editor
That issue is resolved and the case can be closed.

The root cause was the font installation.

The font version used before was less complete.

Claus Futtrup

unread,
Jul 2, 2025, 11:19:59 AM7/2/25
to sem...@googlegroups.com
Dear TSE Users

I am curious to test the complete Perfect DOS VGA Font.
Please provide me with the download link for the complete font.

With kind regards,
Claus

knud van eeden

unread,
Jul 2, 2025, 11:58:15 AM7/2/25
to sem...@googlegroups.com
So conclusion after extensive testing:

1. If TSE Linux using start wt.exe to start wsl.exe and e, then font Perfect DOS VGA 437 should work as expected. Use TSE Linux version 4.50.6 or higher. This goes for Microsoft Windows 10 Professional. In Microsoft Windows 11 it might work also with cmd.exe and or powershell.exe.

2. If TSE Microsoft Windows then the font Perfect DOS VGA 437 should work as expected. Use TSE for Microsoft Windows version 4.50.6 or higher.

3. Have your code page set to 437 (via Microsoft 'Locale' > 'English (United States)', a computer restart is mandatory. Note: In Microsoft Windows one can always use the font 'Terminal' also to do e.g. drawing as a workaround.

4. Have the correct font version of 'Perfect DOS VGA 437' downloaded and installed (open Microsoft 'Fonts Manager' and drop the unzipped font files on it)
from 


5. Note: Under some circumstances the font 'Perfect DOS VGA 437' might (still) show some odd characters, e.g. operating system dependent (Microsoft Windows 10 versus 11)

with friendly greetings
Knud van Eeden

Reply all
Reply to author
Forward
0 new messages