PDoc-SET Format
Restructure of NTI or similar multiple page sequence pages to provide a single text file with all page information contained within one file. The sequence provides for a number of pages such as calling points along with an addition one or two pages for fixed information such as Ticket Validity, Connection or Special Services Notices.
An additional file type has been created - '.SET' - which has a similar layout to the single page '.TXT' format, but with all page information contained within the one file. This allows easier management of multiple formats since only one file needs to be created independent of the number of pages being displayed on different output devices. Currently the information is being paged by the source program module, giving the a fixed nummber of lines in the scrolling area of the page. This is simply to provide an easy transition from the current designs to the new format. It prevents the use of a different number of calling point pages per output device so that all .SET profiles must consist of the same number of lines for the [Body] area.
All of the existing formats are still supported on the Slave controllers, so additional profile types have been introduced. Starting at Type 9 upwards.
All Pages have a [Blank] section which defines the Basic Profile, Along with a [Header] and [Footer] section which defines the header and footer area of all pages. To this can be added graphics such as TOC Logo and Facility Icons. It is envisaged that all pages will have the same header and footer display, and will simply scroll the information area in the middle, therefore profiles for secondary pages will have their outline layout information ignored.
[Title]
Title=Platform NTI
Type=10
[Blank]
Title=NTI10
[Header]
LT0=18:48 BRIGHTON|
[Footer]
LT0=Line 1|
LT1=Line 2|
[Body]
LT0=East Croydon|
LT1=Gatwick Airport|
LT2=Haywards Heath|
LT3=Brighton|
Lines=8
Pages=1
Currently the Lines and Pages entries are completed based on the normal screen layout. Calling Points containing a 'New Page' flag will advance the line count (LTx) to the top of the next page, leaving missing line numbers on the list. All text is delimited by '|' characters in place of the more mormal <Tab>, as Windows98 has trouble processing the text files containing <Tab>, treating it as a new line. Multiple columns of data are also separated by '|' and currently up to 5 tab columns are supported. (See tab settings in Layout for deatils).
The full text of the calling points is stored, but it may be appropriate to store just the TIPLOC, and do this conversion at the display device, where the correct length of text string can be utilized as appropriate, and also reduce the size of files created, and the database activity that builds the file.
The first page of calling points will be headed with information from the Profile given in the [Body] section of profile, while subsequent calling point pages will use information from the [Second] section. Extra page displays will then use their additional page number at the end of the basic title, [Page1], [Page2] in the same way.
A number of additional pages can be added to the file using a separate header for each, but currently this is limited to two.
[Page1]
LT0=This is a test|
LT1=page added to|
LT2=the current NTI|
All layout information as detailed in the .TXT document is supplied via associated profile file. This file has a .TXT extension rather than .SET. The system will support the profile and text information contained within the one file, but this is not the expected method of operation.
Information Section
An facility has been provided to add additional information fields to the set file for use by alternate display equipment, such as flaps. This requires being enabled in the driving system, and allows information not normally used on character displays to be output from the main control system. Currently four fields are supported, but additional fields will be provided as required.
[Info]
TOC=VT Two character
TOC ID
Headcode=1X99 Train Headcode for
record
Platform=2 Platform Number ( will
be 0 if not posted, and system only displaying posted trains on summary
)
Calling=12 Number of calling point
lines included in the file ( Body details are based on monitor page formats
and include blank lines )
Profiles
An facility has been provided to use a 'Profile' to define
the layout for the page. This profile can be stored locally on the display
controller, which will reduce network
traffic, but requires the Profiles to be downloaded as
they are updated. The contents of the display pages is always accessed
direct from the main file server.
A number of profile sub-directories are added to the \DATA\PROFILE
section with the same set of names as the Picture section. This allows
different formats to be
used for each different screen orientation or resolution.
A single Arrival list and Departure list can then be created, but will
be output with the correct layout.
A section added to the text file calls up the required
profile
[Blank]
Title=ProfileFileName
The profile file is then used to provide the [Layout]
and [Font] sections, along with the formats for the [Body] section. In
order to override lines in the TEXT file, any
lines included in the profile will be used before accessing
the contents of the text page. This allows the correct arrangement of header
and footer information to the
added to a simple summary list or similar page.
Title Section
This section is kept for notes and defines the type of
page being managed when working with automatic pages
[Title]
Name=Colour and Font Test Chart
Type=1
This entry controls the method of converting text files
to images for display, or to reformat text pages to other serial output
formats such as DVC's or LED displays.
0 - Do not display page ( i.e. Blank pages of NTI Sequence
)
7 - Passing - Fast Train Approaching ( Single Page )
8 - Arrival - Terminates Here ( Single Page )
9 - Cancelled ( Single Page )
10 - NTI Departure Sequence
Layout Section
This section defines the page layout and background along
this the fine detail of tabbed columns for the scrolling area of the display
page. Two additional sections define the area of the Header and Footer.
[Layout]
HorPos=0
Horizontal position of text area on screen
VertPos=0
Vertical position of text area on screen
Width=1024
Width of text area on screen
Height=1024
Height position of text area on screen
BackgroundPic=NONE
Picture to be used as background on screen
BackgroundColour=0
Colour used for rest of area outside text area, and highlight
text colour
(An entry of 16 indicates transparent, which allows the
background picture to be visible)
ForegroundColour=15
Default text colour, and background colour for highlighted
text.
LeftTabs= 100,200,300,400
RightTabs=100,200,300,400,500
This defines the left and right edges of the tab positions.
The first Left tab is HorPos, hence the gap above the first right tab.
(This sets up the tab positions for
Justify 4)
Offset=428
This defines the horizontal position of the second colum
of information, the actual text position is given, with a vertical line
being added 10 pixels before this.
Shift=1
This defines the first line of display that is to be drawn in two columns.
Step=0
This defines the the number of lines of header that are added to the second column before the original data is displayed.
As an example, Departure summaries are Shift=1 and Step=1,
where they have a single line header, and add a second column header line
at the start of the
second column.
While Horizontal NTI's are Shift=2 and Step=0, where the
first two lines are used as full width headers, while the two columns are
displayed x on the left
followed directly by x on the right.
[Header] and [Footer]
Both sections take the same set of entries as follows
HorPos=0
Horizontal position of text area on screen
VertPos=0
Vertical position of text area on screen
Width=1024
Width of text area on screen
Height=1024
Height position of text area on screen
These sections also contain the format lines for the display of text in the panels defined. The number of lines displayed is limited to a maximum of 3, but will also be limited such that only complete line of text will be displayed in the panel. The number of line to be displayed can also be specifed, allowing a sub set of line to be output if the application requires.
N=
Number of lines making up this panel
LFx=2|0|15|0|
Where x is the line number. See the main body section
for a detailed description of the format information. Header and Footer
panels do not support multiple columns, and so a single column is to be
expected, although the body section can be split if required..
Font Section
This section is used to define the font sizes used for
the page. Up to 8 different sizes can be used, either with the same font,
or a number of different fonts as
required. Only the number of fonts actually used need
to be loaded, unused fonts will just add unnecessary load on the display
computer.
[TXTFONT]
N=A
The number of fonts required
FontNo0=50,20,300,LucidaSans
FontNo1=40,15,300
FontNo2=32,12,300
FontNo3=50,20,300,CooperBlack
The font number is used in the BODY section to
select a font size for a line
Number 1 = Height of character in pixels - this
includes white space above and below as defined by font
Number 2 = Width of character in pixels - for proportional
fonts this is the width of the average character
Number 3 = Boldness (see Microsoft for explination!)
Fourth entry is the font name, which is only required
when it changes
Body Section
Each line of the display is defined by a pair of entries,
an LFx and an LTx. The LF entry defines the format for the line while the
LT entry contains the text to be
displayed. Since the LF entry can be picked up from the
PROFILE file, a simple text page would consist of an entry to select the
profile, and a set of text to be
displayed.
There are four sections supported, with the extra page display only required if used by the system. So up to four copies of the following information is required.
[Body] - The first page of display information
[Second] - The second and subsequent pages until all
of the source text list has been displayed
[Page1] - The first extra page, displayed following the
main body, if required.
[Page2] - The second extra page, displayed last in the
sequence, if required.
[<Section>]
N=
Number of lines making up this section
When there are two columns, each entry in the list counts,
so that the number will be the total number of column entries.
The number of lines actually displayed may be less than
that called for, if the fonts sizes do not permit all of the information
to be displayed.
The count will be greater than the number of calling
points, as it needs to include the fixed line(s) of text included in the
profile. If there is a single description line for the section, and 8 calling
point lines, then the count will be 9.
LFx=2|0|15|0|
Number 1 = Font (from list above)
Number 2 = Colour of text
Number 3 = Colour of background (16 = Transparent
allowing picture to show)
Number 4 = Justification
The justification is to be sorted. Tabs= entry
above allows columns of text to be built at fixed positions, while also
using centered, and right justified.
Justify Types
0 Left and Right (Two segments of text Justified
Left and Right)
1 Left Justify
2 Center
3 Right Justify
4 Tabbed Columns (4 Columns are allowed)
+8 Where a justify entry has had eight added to it, it
indicates that the line is displayed in the second column.
Lines do not need to be included when they are the same
as the line above, the previous line information is used as the default
for a following line, so blocks of
information can be managed simply by editing the first
line of the sequence.
LTx=|Colour Test Chart|Colour 1|
Up to 5 segments of text can be added to a line, but how
many are used will depend on the justify mode selected.
The vertical bar character is used rather than
<tab> as it is easier to view when manually coding pages, also Windows
98 can not read <tab> characters from the
text file.
In order to control fine detail in the columns of a tabbed
list, the first character in each segment of text is used as a flag character
and will define how a column is
displayed. Currently there are only two special modes,
highlight(!) and right justify(>), but other modes can be added as required.
( It was originally intended to use control characters
for this purpose, but while it works beautifully on NT, Windows 98 treats
all control characters as <end of line>
when reading text files, so screws up the text )
The colour table for the pages is defined in the \Postfield\System\Pallete\ registry key - see System Registry Entries for details.
Graphics Section
There are two levels of switch to enable the graphics facilities. Firstly the DCSlave registry entry must be set for Graphics=1, and then the switch enable must be present in the profile file. The second element allows individual control of graphics elements dependent on the output display device, providing a means of removing some elements from certain devices, and also selecting the correct elements for the orienation of display.
[Graphics]
Enable=31
// Bitwise switches to enable each element of the graphics
pallet
// 16 = AVI Clip Viewer - Not currently supported on .SET displays.
Sample Profile
[Title]
Name=Platform Next Train Indicator
[TXTFONT]
Number=2
FontNo0=20,6,300,Lucida Sans Typewriter
FontNo1=20,12,500,Lucida Sans Typewriter
This entry is used by the DVC Mimic to complete the graphic
display of text information.
[Header]
N=1
LF0=1|1|15|0|
[Footer]
N=2
LF0=0|1|14|0|
LF1=0|1|15|0|
[Body]
N=9
LT0=Calling at:-
LF0=0|14|1|1|
LF1=0|15|1|2|
[Second]
N=9
LT0=Also calling at:-
LF0=0|13|1|1|
LF1=0|15|1|2|
[Page1]
N=9
LT0=Connections:-
LF0=0|12|1|1|
LF1=0|15|1|2|
[Page2]
N=9
LT0=Ticket Validity:-
LF0=0|11|1|1|
LF1=0|15|1|2|