Having trouble with the "fancy status line"

I’m using Basic Screen Effects and a modified version of the compass example from that extension to make a five-line compass with some special unicode characters (and remove the colors from the example, since I’m using glulx), but the IDE’s interpreter isn’t rendering it correctly (not printing entire lines or parts of lines, sometimes displaying the second line in the central spot instead of the righthand one, etc.). If I release my story file and run it in Gargoyle it works correctly. Before I write it off as a bug, should I be worried that other interpreters may have similar behavior?

Here’s the code (sans the dozen empty rooms I created to test it with):

Include Basic Screen Effects by Emily Short.

A room can be hidden from directions.

Table of Fancy Status
left	central	right
""		""		"[rose up]  [rose northwest]  [rose north]  [rose northeast]"
""		""		"[unicode 8613]      [unicode 11161]"
""		""		"   [rose west] [unicode 11160] [unicode 10050] [unicode 11162] [rose east]"
""		""		"[unicode 8615]      [unicode 11163]"
""		""		"[rose down]  [rose southwest]  [rose south]  [rose southeast]"

To say rose (way - a direction):
	let place be the room way from the location;
	if the place is a room and the place is not hidden from directions, say "[if the place is unvisited][bold type][end if][way abbreviation][roman type]";
	otherwise say "[way spacing]";
To say (way - a direction) abbreviation:
	choose row with a chosen way of way in the Table of Various Directions;
	say abbrev entry.
To say (way - a direction) spacing:
	choose row with a chosen way of way in the Table of Various Directions;
	say spacing entry.

Table of Various Directions
chosen way	abbrev	spacing
up			"U"		" "
northwest	"NW"	"  "
north		"N"		" "
northeast	"NE"	"  "
east		"E"		" "
west		"W"		" "
southeast	"SE"	"  "
south		"S"		" "
southwest	"SW"	"  "
down		"D"		" "

Rule for constructing the status line:
	fill status bar with Table of Fancy Status;
	rule succeeds.

I tried it in the Mac IDE and in (EDIT!) Lectrote after creating a few test rooms. I’m not getting any of the errors you described.

The Unicode characters for the compass rose give crossed boxes (as in character not found or understood?) in both IDE and Lectrote. The up and down Unicode symbols print okay for me.

Are these errors appearing randomly, or always in particular situations? I wondered if it might be related to the hidden rooms function, but I’m not running your set of test rooms.

EDIT: I’ve now also tried in Gargoyle, which is the only place the compass rose arrows show correctly.

-Wade

What OS are you using, and what version of Inform?

Linux Mint, using the flatpak package of Inform 7 (which I think is official, but the link to it on the website doesn’t work for me so I couldn’t double-check. I think the link is fine, the software manager just refused to open it). The IDE says it’s version 2.0.0, and the I7 version is v10.1.2.

Yes, I had to install a new font on my computer to be able to see them myself (which I’d been meaning to get around to at some point anyway — not being able to see special characters was bothering me). I’m aware many people probably won’t be able to see them, and might end up switching them out for something else eventually. But they look nice for now. : )

It’s consistent with the same code and room layout, but changes between rooms and depending on how I lay out the say phrases. Using the code in the original post, everything between E and W (the star character and spaces) is missing, along with the entire bottom row, and there doesn’t seem to be variation room-to-room. With the following tweaks to the code, now everything between W and E is missing along with the bottom two rows in in the starting room, while if I go north I have all five rows (yay) but the arrow in the fourth row is mysteriously in the center spot. The room layout has remained the same between code examples.

The red room is a room.
The orange room is north from red room.
The yellow room is east from red room.
The green room is northwest from red room.
The blue room is up from red room.
The purple room is northeast from red room.
The pink room is south from red room.
The magenta room is southwest from red room.
The aqua room is west from red room.
The white room is north of blue room.

Include Basic Screen Effects by Emily Short.

A room can be hidden from directions.

To say star: say unicode 10050.

Table of Fancy Status
left	central	right
""	""	"[rose up]  [rose northwest]  [rose north]  [rose northeast]"
""	""	"[arrow up]    [arrow northwest] [arrow north] [arrow northeast]"
""	""	"   [rose west] [arrow west] [star] [arrow east] [rose east]"
""	""	"[arrow down]    [arrow southwest] [arrow south] [arrow southeast]"
""	""	"[rose down]  [rose southwest]  [rose south]  [rose southeast]"

To say rose (way - a direction):
	let place be the room way from the location;
	if the place is a room and the place is not hidden from directions:
		if the place is unvisited:
			say bold type;
		choose row with a chosen way of way in the Table of Various Directions;
		say abbrev entry;
		say roman type;
	otherwise:
		choose row with a chosen way of way in the Table of Various Directions;
		say spacing entry.

To say arrow (way - a direction):
	let place be the room way from the location;
	if the place is a room and the place is not hidden from directions:
		choose row with a chosen way of way in the Table of Various Directions;
		say arrow entry;
	otherwise:
		say " ".

To say (way - a direction) abbreviation:
	choose row with a chosen way of way in the Table of Various Directions;
	say abbrev entry.

Table of Various Directions
chosen way	abbrev	spacing	arrow
up	"U"	" "	"[unicode 8613]"
northwest	"NW"	"  "	"[unicode 8598]"
north	"N"	" "	"[unicode 11161]"
northeast	"NE"	"  "	"[unicode 8599]"
east	"E"	" "	"[unicode 11162]"
west	"W"	" "	"[unicode 11160]"
southeast	"SE"	"  "	"[unicode 8600]"
south	"S"	" "	"[unicode 11163]"
southwest	"SW"	"  "	"[unicode 8601]"
down	"D"	" "	"[unicode 8615]"

Rule for constructing the status line:
	fill status bar with Table of Fancy Status;
	rule succeeds.

If I’m the only person to have this problem I’m perfectly alright with that, as long as it means it’s unlikely to affect players of the final game.

I didn’t run into trouble using Unicode as movement button/icon? If you do, and manage to solve it, I’d appreciate it if you can tell me what font sets are involved.

About the only thing I know is that Free Mono is a decent Unicode font set. Even then, there’s plenty of characters that is excluded from Unicode standard.