home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / aplread.me < prev    next >
Text File  |  1994-06-12  |  34KB  |  870 lines

  1.  
  2. ========================================================================
  3.  IBM* APL2* for OS/2* read.me file:
  4.  
  5.  APL2 for OS/2  Version 1.0D - Demo
  6.  (C) Copyright IBM Corp. 1994. All Rights Reserved.
  7.  US Government Users Restricted Rights - Use, duplication or disclosure
  8.  restricted by GSA ADP Schedule Contract with IBM Corp.
  9. ========================================================================
  10.  
  11.  
  12. ========================================================================
  13.  About this demo version
  14. ========================================================================
  15. This demo version is equivalent to APL2 for OS/2 Advanced Version 1.0
  16. except for a built in expiration date of 6/30/94. Please feel free to
  17. distribute this product freely, as long as no part of the product is
  18. modified in any way.
  19.  
  20. ========================================================================
  21.  APL2 for OS/2 Installation
  22. ========================================================================
  23.  
  24.  You should have 4 diskettes.
  25.  
  26.  To install:
  27.  
  28.   1. Insert diskette 1 in your computer and type a:install
  29.      (or b:install if you are installing from drive B).
  30.  
  31.   2. When you see the Instructions window, click on 'Continue'
  32.      (or press 'Enter').
  33.  
  34.   3. From the Install window, click on 'OK' (or press Enter).
  35.      You should leave the box marked 'Update config.sys' checked
  36.      so the install program can make the necessary modifications.
  37.      'Overwrite files' can be left unchecked.
  38.  
  39.   4. In the Install - directories window, click on 'Select All'.
  40.  
  41.   5. Click on 'Disk Space' for a list of possible target drives.
  42.      Selecting a drive displays a message telling you if there
  43.      is enough space for the install. If you select a new drive,
  44.      check the box 'Change directories to selected drive'.
  45.  
  46.   6. If desired, change the name of the install directory.
  47.  
  48.   7. Click on 'Install' to begin installation.
  49.  
  50.   8. You are prompted for the other disks during the install. When
  51.      the last disk is finished, select 'Exit' from the 'File' menu
  52.      of the Install window.
  53.  
  54.   9. You need to reboot your machine before the changes to
  55.      config.sys can take affect.
  56.  
  57. ========================================================================
  58.  APL2/2 Font Installation
  59. ========================================================================
  60.    APL2/2 is shipped with several different PostScript** and bitmap
  61.    fonts. Be sure to read the section on 'Installing the APL2 Fonts'
  62.    in the APL2/2 User's Guide before attempting to start APL2/2.
  63.    
  64.    NOTE: the APL2NORM (facename APL2) font is not provided with the
  65.    APL2/2 product. Please ignore any reference to this font in the
  66.    User's Guide.
  67.  
  68. ========================================================================
  69.  If you have previously installed a beta version of APL2 for OS/2:
  70. ========================================================================
  71.    APL2/2 version 1.0 should not be installed over an existing beta
  72.    version of APL2/2. If you have a beta version installed you
  73.    should do the following:
  74.  
  75.       1. Delete the APL2 for OS/2 Spin x folder and all of its contents.
  76.          Click mouse button 2 on the folder and select 'Delete'.
  77.  
  78.       2. Delete the top-level install directory (default = C:\APL2OS2)
  79.          and all of its subdirectories. Use OS/2 'Drives', click mouse
  80.          button 2 on the top-level directory and select 'Delete'.
  81.  
  82.       3. Uninstall any installed fonts from previous beta versions.
  83.          See 'Uninstalling fonts'.
  84.  
  85. ========================================================================
  86.  The APL2/2 Installation Utility
  87. ========================================================================
  88.     The APL2/2 Installation Utility can be invoked by clicking mouse
  89.     button 1 on the Installation Utility icon in the APL2/2 folder.
  90.     This utility can be used to Update, Delete, and Restore the APL2/2
  91.     product. When you invoke the utility after installing APL2/2, the
  92.     Action menu can be used to Delete or Update the product. Update
  93.     is used to install future updates or maintenance to the product.
  94.     Delete can be used to remove the product from your hard disk.
  95.  
  96.     *** IMPORTANT ***
  97.     In order to successfully use the Delete function, you must
  98.     reboot your machine and invoke Delete before running APL2/2 or
  99.     viewing the online documentation. Failure to do this causes
  100.     Delete to fail and leaves the product in an unrecoverable state.
  101.  
  102.     After using the Installation Utility to delete the APL2/2
  103.     product, you must reboot your machine to finish the process.
  104.  
  105.     After deleting the product, do not use the Install action from
  106.     the Installation Utility Action menu, use install from disk #1
  107.     of the APL2/2 product only.
  108.  
  109. ========================================================================
  110.  Version 1.0 notes:
  111. ========================================================================
  112.  
  113. APL2/2 Folder
  114.  
  115.     After installation is complete, you will have a new folder on your
  116.     OS/2 desktop called APL2 for OS/2 Advanced. Open the folder and click
  117.     on the 'APL2/2 Users Guide' icon for information relating to this
  118.     version. The folder also contains a program object that can be
  119.     used to start APL2/2. This object should be considered a template
  120.     to be customized by the user. In particular, you probably want to
  121.     modify the following items in Settings:
  122.  
  123.       On the Program page, you should change 'Working Directory'
  124.       to a directory where you would like your default workspace
  125.       library and session manager log.
  126.  
  127.       On the Window page, you might want to change 'Open Object
  128.       Behavior' to 'Create new window'. This allows you to start
  129.       multiple APL2/2 sessions from the same object.
  130.  
  131. Using OS/2 2.0
  132.  
  133.     OS/2 2.0 Service Pak 1 or later or OS/2 J 2.1 or later
  134.     are required to use APL2 for OS/2.
  135.     
  136.     
  137. Cooperative Processing
  138.  
  139.     In order to use the cooperative processing features of APL2/2,
  140.     TCP/IP (Version 2.0 or later) must be installed and configured
  141.     on your machine. The ifconfig program must be run before starting
  142.     APL2/2.
  143.  
  144.     The APL2/2 Users Guide suggests using a processor profile entry
  145.     with an :svopid. tag of 0. This is not currently supported.
  146.     
  147. Printing AP 207 windows
  148.        
  149.     Printing of AP 207 windows that contain Bitmap or Images can cause
  150.     the window to not print correctly. This is caused by the spooler
  151.     inadvertently modifying the file. To correct this you can:
  152.        1. Disable the print spooler.
  153.           or
  154.        2. Open your printer SETTINGS and select Queue Options.
  155.           Check the printer specific format box and close the SETTINGS.
  156.           (The picture viewer does not work on these printer specific
  157.            items.)
  158.  
  159. Using the APL2INFO.FON font
  160.  
  161.   - The APL2 Info font is designed for use with the APL2/2 online
  162.     documentation only. It does not support the APL character set
  163.     if selected for use with the Session Manager.
  164.    
  165. APL2 SVP Trace Window Print Object Creation Failures
  166.  
  167.    When the APL2 SVP Trace window is opened, it attempts to create an
  168.    APL2 Print Object.  If no print queues exist on the system,
  169.    creation of the APL Print Object fails.  When this condition is
  170.    encountered, the SVP Trace window displays a message box.  This
  171.    message box is informational; it does not indicate an error.  The
  172.    Printer Setup and Print options on the File menu are not available.
  173.  
  174.  
  175. Printing APL Characters Using Hewlett-Packard LaserJet** Print Drivers
  176.  
  177.    The LaserJet drivers supplied with the GA levels of OS/2 2.0 and
  178.    OS/2 2.1 have a bug when the APL font is downloaded.  When
  179.    attempting to print APL characters, although the driver causes
  180.    the printer to print the file, the downloaded APL characters are
  181.    not printed.
  182.  
  183.    To print APL characters, open the Printer driver page of the
  184.    LaserJet settings, then open the printer driver settings and
  185.    select Device Defaults. In the Device Defaults window, check
  186.    the Fast System Fonts option.  This option turns off the Print
  187.    Driver's code to download the APL font.
  188.  
  189.  
  190. Printing APL Characters Using PostScript Print Drivers
  191.  
  192.    The PostScript driver supplied with the GA levels of OS/2 2.0 and
  193.    OS/2 2.1 has a problem involving downloaded fonts.  When
  194.    attempting to print APL characters, although the driver produces
  195.    a PostScript file, the file is unusable.  When sent to a printer,
  196.    the file is discarded by the printer.
  197.  
  198.    To print APL characters, check the Printer Specific option on the
  199.    Queue Options page of the settings notebook of the printer object.
  200.    This option turns off the print driver's code to build a PostScript
  201.    file that downloads the APL font.
  202.  
  203.    Since the font is not downloaded, each APL character is drawn as a
  204.    series of lines.  PostScript files containing APL characters can be
  205.    very large and the time required to generate the file can be very
  206.    long.
  207.  
  208.    To avoid these problems, select a non-PostScript driver, if
  209.    possible.
  210.  
  211.  
  212. Using the APL2/2 Session Manager to Control APL2/370 Sessions
  213.  
  214.    AP 120 can be used to control a remote APL2/370 session if TCP/IP
  215.    is installed on both OS/2 and the mainframe.
  216.  
  217.    APL2/370 does not use as many different codes as the workstation
  218.    interpreters to distinguish different types of output.  Several
  219.    types of output mentioned in the session manager's Fields window
  220.    are identified differently by APL2/370.
  221.  
  222.  
  223. Keyboard Layout Modification Window Font Error
  224.  
  225.    The APL2 Keyboard Handler is used to enable entry of APL characters
  226.    into PM windows.  The APL2 Keyboard handler supports a Keyboard
  227.    Layout Modification window.
  228.  
  229.    The Keyboard Layout Modification window is supposed to display the
  230.    keyboard layout using the same font that the APL-enabled window is
  231.    using.
  232.    
  233.    The modification window determines the APL-enabled window's font by
  234.    querying the metrics of the window's default font. This works
  235.    if the window uses the font Local Identifier (LCID) 0. It does not
  236.    work for windows that use an LCID other than 0. Multiple Line
  237.    Entry (MLE) fields do not use LCID 0.
  238.  
  239.    The Keyboard Modify choice (on the Options menu of the window opened
  240.    by the EDIT function in the PMTOOLS workspace) uses an MLE and the
  241.    APL2 Keyboard Handler.  When the Keyboard Modify choice is selected
  242.    from the EDIT window Options menu, the Keyboard Layout Modification
  243.    window does not display the layout using the correct font.
  244.  
  245.    Applications that need to use the APL2 Keyboard Handler to enable
  246.    entry of APL characters into an MLE can use a second invisible
  247.    window to invoke the Keyboard Layout Modification window.  Subclass
  248.    a second window, that is not an MLE and that can be invisible,
  249.    using the Keyboard Handler and send the APLKEY_MSG_MODIFY message
  250.    to the second window.
  251.  
  252.  
  253. Uninstalling Fonts
  254.  
  255.    When you boot OS/2, the system opens all the installed bitmap font
  256.    files and leaves them open until you shut down the system.
  257.  
  258.    When you use either a bitmap or PostScript font, OS/2 opens the
  259.    font file, if it is not already open, loads the font into storage
  260.    and does not delete it from storage until you shut down the system.
  261.  
  262.    Furthermore, if you shut down the system while an application is
  263.    using a font, OS/2 can restart the application when you restart the
  264.    system.  This causes the font to be opened and loaded again.
  265.  
  266.    Because OS/2 usually has both the font loaded and the font file
  267.    open, you can not just uninstall the font; it is in use.
  268.  
  269.    To uninstall the font, you must ensure that the font is not loaded
  270.    and that the font file is not open.  The following steps describe
  271.    this process..
  272.  
  273.    First use the Font Palette's Delete Font dialog to remove the font
  274.    from OS/2's list of installed fonts.
  275.  
  276.    If the font has already been loaded, the Delete Font dialog may
  277.    tell you that the font is in use by another program.  If this
  278.    happens, first make sure that no application is using the font,
  279.    then Reboot and try this step again.
  280.  
  281.    If the font was not loaded (as should be the case just after a
  282.    reboot), the Delete Font dialog will delete the font from the list
  283.    of installed fonts.  However, it may then tell you that the font
  284.    file is in use.  This is because OS/2 leaves open all font files it
  285.    opens until you reboot.  However, since the Delete Font dialog has
  286.    now removed the font from the list of installed fonts, the file
  287.    is not opened the next time you reboot.  So, reboot again.
  288.  
  289.    Now the font is neither loaded nor open.  However, the font file
  290.    still exists in the directory that OS/2 uses to store fonts.  You
  291.    cannot use the Font Palette to delete this file since the palette
  292.    only shows OS/2's list of installed fonts.  To finish the font
  293.    uninstallation process, you must delete the file manually using the
  294.    OS/2 Delete command.  Open an OS/2 window or full-screen session,
  295.    change into the directory into which the Add Font dialog copied
  296.    the font, and delete the font file.
  297.  
  298.    Notes:
  299.  
  300.       Even if you received no error messages when you first attempted
  301.       to uninstall a PostScript file that has been used since the last
  302.       boot, you need to reboot before you can reinstall the font. This
  303.       is because OS/2 still has a copy of the font in storage even
  304.       though it is uninstalled.
  305.  
  306.       On an OS/2 2.0 system, the default font directory is called:
  307.  
  308.          C:\OS2\DLL\
  309.  
  310.       On an OS/2 2.1 system, the default font directory is called:
  311.  
  312.          C:\PSFONTS\
  313.  
  314.    Finally, you may wonder why OS/2 always leaves the font files open
  315.    and the fonts loaded.  There is a good reason for this:
  316.    performance.  The OS/2 developers traded convenience during the
  317.    font uninstallation procedure for increased performance during
  318.    normal operation.
  319.  
  320.  
  321. ========================================================================
  322. An Overview of DBCS Support Provided by PM
  323. ========================================================================
  324.  
  325.    The Presentation Interface supports double-byte character sets
  326.    (DBCS) by means of three kinds of character-encoding schemes:
  327.  
  328.    SBCS only
  329.              Single-byte code pages; for example, U.S.-English.
  330.  
  331.              Both ASCII and EBCDIC SBCS code pages have similar
  332.              representations.
  333.  
  334.    DBCS only
  335.              Double-byte code pages; for example, Kanji.
  336.  
  337.              Both ASCII and EBCDIC DBCS code pages have similar
  338.              representations.
  339.  
  340.    MIXED
  341.              Code pages that incorporate a combination of single-byte
  342.              and double-byte characters.
  343.  
  344.              The internal representations of EBCDIC MIXED and ASCII
  345.              MIXED code pages differ:
  346.  
  347.       o ASCII MIXED: the encoding scheme allows single-byte characters
  348.         to be distinguished from double-byte characters
  349.         algorithmically.  With this scheme the number of characters
  350.         entered or displayed is the same as the number of characters
  351.         in a field.
  352.  
  353.       o EBCDIC MIXED: the encoding scheme requires that control
  354.         characters within the string switch from single- to double-byte
  355.         encoding (and from double- to single-byte encoding).  These
  356.         control characters are the shift-out (SO) and shift-in (SI)
  357.         characters.
  358.  
  359.         With this encoding scheme there may be many more characters in
  360.         the input or data field than characters displayed or printed.
  361.  
  362.    All MIXED strings are displayed without a space between sequences
  363.    of single-byte and double-byte characters (unless spaces are
  364.    explicitly included in these positions within the string).
  365.  
  366.    For graphics, selection of a local identifier (lcid) identifies the
  367.    code page in force, and therefore whether subsequent character
  368.    strings are to be interpreted as SBCS, DBCS, ASCII MIXED, or EBCDIC
  369.    MIXED.
  370.  
  371.  
  372. DBCS Support Provided by APL2 for OS/2
  373.  
  374.    APL2/2 supports use of DBCS characters in application programs
  375.    including Presentation Manager* windows.
  376.  
  377.    OS/2, and hence APL2/2, do not support use of both APL2 and DBCS
  378.    characters in any single PM window except when using the OS/2
  379.    Graphical Programming Interface (GPI) services.
  380.  
  381.    APL2 Print object windows require that a SBCS codepage be
  382.    available.  At least one SBCS codepage must be listed in the
  383.    CODEPAGE statement in config.sys.  If no SBCS codepage is listed in
  384.    the CODEPAGE statement, attempts to create APL2 Print Object
  385.    windows fail.
  386.  
  387.    Note:
  388.  
  389.    There are currently two bugs in OS/2 J that affect the use of APL
  390.    characters:
  391.  
  392.    1) When a PostScript font is first loaded after booting the
  393.       machine, PM associates the current codepage with the font.  The
  394.       font continues to be associated with that codepage until the
  395.       machine is rebooted even if the font is unloaded or the process
  396.       codepage is changed.  If the current codepage is any codepage
  397.       other than 850, then APL characters do not display correctly in
  398.       several PM controls and APL characters can not be entered in
  399.       Entry Field Controls.
  400.  
  401.       Use the following procedure to effectively use the APL
  402.       PostScript fonts included in APL2/2:
  403.  
  404.          List codepage 850 in the CODEPAGE statement in config.sys.
  405.  
  406.          After booting and before running any program that uses the
  407.          APL font, switch to codepage 850 using the CHCP command.
  408.  
  409.          From the process that is using codepage 850, run any program
  410.          that loads the APL font.
  411.  
  412.    2) APL characters can not be written to Entry Field controls that
  413.       have the ES_SBCS attribute flag using WinSetWindowText.  OS/2's
  414.       DBCS recognition scheme is activated during WinSetWindowText;
  415.       the APL characters are interpreted as DBCS characters; the Entry
  416.       Field control beeps, and the control text is not changed.
  417.  
  418.       This problem does not effect any part of the APL2/2 Programming
  419.       Environment.
  420.  
  421.       Applications that allow entry of APL characters in entry
  422.       fields should not use ES_SBCS.
  423.  
  424.  
  425. APL2/2 Support for DBCS Characters in Application Windows:
  426.  
  427.    Characters to be displayed in PM windows or passed to other OS/2
  428.    applications are stored in the APL2/2 workspace as single-byte
  429.    characters.  It is the responsibility of the application or PM
  430.    window to use the encoding scheme specified by the current codepage
  431.    to detect the existence of DBCS characters in any APL2 character
  432.    vector.
  433.  
  434.    When a DBCS or MIXED codepage is in effect, the following behavior
  435.    results:
  436.  
  437.       When a character vector is passed to a PM window, any DBCS data
  438.       encoded in the vector is displayed as DBCS characters.
  439.  
  440.       When the character content of a PM window is retrieved, the
  441.       contents are returned as a vector of single byte-characters.  It
  442.       is the responsibility of the application to use the encoding
  443.       scheme specified by the current codepage to detect the existence
  444.       of DBCS characters in the vector.
  445.  
  446.          Note: In many cases, the application need not perform any
  447.          special processing of DBCS data.  It can be passed intact
  448.          back to PM for display.  It can also be written as binary
  449.          data to a file and retrieved from a file intact.
  450.  
  451.  
  452.    Three auxiliary processors supplied with APL2/2 can be used to
  453.    control PM windows:
  454.  
  455.    AP 124
  456.  
  457.      AP 124 is APL2's Text Display processor.  AP 124 allows
  458.      applications to format a window by defining input and output
  459.      fields, control the colors and other attributes of defined fields,
  460.      write text to and read text from defined fields, and process
  461.      keyboard input.  AP 124 supports display and entry of DBCS
  462.      characters.
  463.  
  464.      AP 124 windows include a DBCS Keyboard Shift Status Area.  AP 124
  465.      supports entry of DBCS characters into input fields.
  466.  
  467.      AP 124 also provides support for applications to detect individual
  468.      keystrokes.  This support only operates correctly when the keyboard
  469.      is in SBCS entry mode.  When the keyboard is in DBCS mode results
  470.      are unpredictable.
  471.  
  472.         Note:  AP 124's default operation causes an APL2 font to be
  473.         selected when a window is opened.  Since APL2 fonts do not
  474.         include DBCS characters, they are inappropriate for display and
  475.         entry of DBCS characters.  If AP 124's APL input mode is turned
  476.         off before opening a window, AP 124 selects a non-APL font.  If
  477.         the current process codepage is a SBCS codepage, the System
  478.         Monospaced font is selected.  If the current process codepage is
  479.         a DBCS codepage, the Mincho font is selected.
  480.  
  481.    AP 145
  482.  
  483.      AP 145 is the APL2-PM interface processor.  AP 145 provides access
  484.      to the PM window (Win) and graphical programming interface (Gpi)
  485.      services.  These services can be used to create and process PM
  486.      windows that provide full DBCS support.  AP 145 does not provide
  487.      DBCS support; rather, AP 145 provides access to PM, which provides
  488.      the necessary support for building DBCS enabled OS/2 applications.
  489.      The DBCS supported provided by PM is described in the documentation
  490.      supplied with the OS/2 Developer's Toolkit.  The "DBCS Design Guide
  491.      and Information for OS/2 Programming" manual, GA18-7284, also
  492.      includes useful information for developers of DBCS enabled
  493.      applications.
  494.  
  495.      In brief, DBCS input is enabled for those PM frame windows that
  496.      include the frame control flag FCF_DBE_APPSTAT.  The Entry Field
  497.      Control Styles ES_SBCS, ES_DBCS, ES_MIXED, and ES_ANY can be used
  498.      to control the type of data allowed in entry fields and comboboxes.
  499.  
  500.      The AP 145 documentation describes how to use the Dialog Editor
  501.      component of the OS/2 Developer's Toolkit to build simple SBCS
  502.      dialogs.  The Dialog Editor provides support for setting the
  503.      appropriate frame and controls styles for enabling DBCS support in
  504.      dialogs.  The Dialog Editor's online help should be consulted for
  505.      information about setting these styles.
  506.  
  507.    AP 207
  508.  
  509.      AP 207 is APL2'2 Graphics Processor.  AP 207 provides high-level
  510.      support for drawing graphics primitives (such as arcs, lines,
  511.      polygons, and characters) in PM windows.
  512.  
  513.      AP 207 supports display of DBCS characters.  If the current
  514.      codepage is a DBCS or MIXED codepage, and if a font containing DBCS
  515.      characters is selected, DBCS characters can be displayed in an AP
  516.      207 window.  When a character vector is passed to an AP 207 window,
  517.      any DBCS data encoded in the vector is displayed as DBCS
  518.      characters.
  519.  
  520.      AP 207 does not support entry of character vectors; rather, AP 207
  521.      provides support for applications to detect individual keystrokes.
  522.      This support returns the same character codes and keyboard scancode
  523.      provided by AP 124.
  524.  
  525.      AP 207 windows do not include a DBCS Keyboard Shift Status Area.
  526.      Entry of DBCS characters is not supported.
  527.  
  528.  
  529. APL2/2 Support for DBCS Characters in File Names
  530.  
  531.    AP 210, AP 211, and the FILE external function all support DBCS
  532.    characters in file names.  Like the window interface processors, AP
  533.    210, AP 211 and FILE use vectors of single-byte characters for
  534.    file names.  The file name is passed directly to the OS/2 Control
  535.    Program file services.  The encoding scheme specified by the
  536.    current codepage is used to interpret the bytes in the file name.
  537.  
  538.    This support allows applications to pass file names entered in PM
  539.    windows directly to the file processors.
  540.  
  541.  
  542. APL2/2 Support for Printing SBCS and DBCS Characters
  543.  
  544.    This section describes how OS/2 distinguishes between SBCS and DBCS
  545.    characters and the DBCS requirements of print objects. This background
  546.    information is required in order to understand how to print APL
  547.    characters when using OS/2 J.
  548.  
  549.    OS/2 processes character strings one or two bytes at a time.  SBCS
  550.    characters are represented by one byte; DBCS characters are
  551.    represented by two bytes.  The current codepage identifies byte
  552.    values that represent SBCS characters.  The current codepage also
  553.    identifies byte values that are the first bytes of pairs of bytes
  554.    that represent DBCS characters.
  555.  
  556.    As a character string is processed, if a byte corresponds to a SBCS
  557.    codepoint in the current codepage, then the byte is used to display
  558.    or print the corresponding SBCS character.  If a byte corresponds
  559.    to a codepoint that indicates that the byte is the first of a pair
  560.    of bytes representing a DBCS character, then the pair of bytes is
  561.    used to display or print the corresponding DBCS character.
  562.  
  563.    This algorithm conflicts with APL characters since APL characters
  564.    are located at codepoints that DBCS codepages identify as first
  565.    bytes of DBCS byte pairs.
  566.  
  567.    This conflict is irrelevant on machines that only support
  568.    single-byte characters.  However, on machines that support
  569.    double-byte characters, it interferes with printing APL characters.
  570.  
  571.    By default, APL2 Print Objects enable the current codepage's
  572.    encoding scheme for distinguishing between SBCS and DBCS characters
  573.    in character strings.  DBCS characters encoded in a string are
  574.    printed as DBCS characters.  Therefore, APL characters cannot be
  575.    printed on DBCS machines using a print object in its default mode.
  576.  
  577.    Print object windows require that a SBCS codepage be available.  At
  578.    least one SBCS codepage must be listed in the CODEPAGE statement in
  579.    config.sys.
  580.  
  581.    In order to print APL characters on DBCS machines, use the
  582.    APLPRT_SET_SBCS message to cause the print object to select the
  583.    SBCS codepage and disable OS/2's DBCS recognition algorithm.
  584.  
  585.    APLPRT_SET_SBCS Parameters
  586.  
  587.       The first parameter is a Boolean short.  If it is 1, the DBCS
  588.       algorithm is disabled; all data is printed as single-byte
  589.       characters.
  590.  
  591.       If it is 0, the DBCS algorithm is enabled; DBCS characters can
  592.       be printed.
  593.  
  594.    Note:  Print objects' word break algorithm does not support DBCS
  595.    characters.
  596.  
  597.  
  598. Migration of APL2 Programs Containing DBCS Characters from APL2/370
  599.  
  600.    OS/2 distinguishes between DBCS and SBCS characters
  601.    algorithmically.  The algorithm used depends on the current
  602.    codepage.
  603.  
  604.    In order to correctly support display and entry of DBCS characters,
  605.    APL2/2 applications should use OS/2's algorithmic approach for
  606.    managing DBCS characters.
  607.  
  608.    APL2/370 uses a 4-byte format for storing DBCS data.  The first two
  609.    bytes contain the codepage identifier (CPGID), the value specified
  610.    in the APL2/370 DBCS invocation option, or zero.  If the first two
  611.    bytes are not zero, the second two bytes contain the codepoint in
  612.    the codepage.  If the first two bytes are zero, the third byte is
  613.    also zero and the fourth byte is an EBCDIC character.
  614.  
  615.    The APL2/2 interpreter supports APL2/370 format 4-byte characters.
  616.  
  617.    Programs containing 4-byte characters can be migrated from APL2/370
  618.    to APL2/2.  However, APL2/2 does not provide support for
  619.    translation of 4-byte characters to any of the OS/2
  620.    character-encoding schemes.
  621.  
  622.    The following procedure can be used to extract the codepage
  623.    identifier and codepoint from a 4-byte character:
  624.  
  625.       Use the QuadAF system function to convert the 4-byte character
  626.       to an integer.
  627.  
  628.       Use the Encode primitive to convert the integer into two base
  629.       256 integers.  The first integer is the codepage; the second
  630.       integer is the codepoint.
  631.  
  632.       Note: CMS and TSO support a different set of codepages than OS/2
  633.       supports.
  634.  
  635.  
  636. DBCS Support in the APL2/2 Programming Environment
  637.  
  638.    The APL2/2 programming environment includes three major components:
  639.  
  640.      Session manager
  641.  
  642.      Object editor, accessed from the session manager
  643.  
  644.      APL file editor, Apledit
  645.  
  646.    These components support entry of APL characters in the session
  647.    log, APL object definitions, and text files.  The components do not
  648.    support display or entry of DBCS characters in the log, definitions,
  649.    or files.  They also do not support display or entry of DBCS
  650.    characters in their Find, Open Object, or Function Key windows.
  651.    Within the APL2/2 programming environment, OS/2 generated
  652.    facilities such as system menus and push buttons display DBCS
  653.    characters.
  654.  
  655.    The session manager and file editor both support use of DBCS
  656.    characters in file names.
  657.  
  658.    The session manager and editors display only SBCS characters.
  659.    Characters that DBCS-enabled windows would display as DBCS
  660.    characters are displayed as SBCS characters.
  661.  
  662.    These examples all display as SBCS characters:
  663.  
  664.       DBCS characters received from PM through AP 145
  665.  
  666.       DBCS characters in literals in defined programs
  667.  
  668.       DBCS characters in comments in defined programs
  669.  
  670.    The session manager displays 4-byte DBCS characters as omega
  671.    characters.
  672.  
  673.    The object editor can not be used to edit arrays containing 4-byte
  674.    characters.
  675.  
  676. ========================================================================
  677.  File structure
  678. ========================================================================
  679.  
  680.  apl2os2
  681.  |
  682.  |---read.me
  683.  |---apl2os2.pkg
  684.  |---aplisinc.pkg
  685.  |---apliprcs.exe
  686.  |---aplipii.dll
  687.  |---aplinsts.exe
  688.  |---apliexts.dll
  689.  |---aplimsg.msg
  690.  |---apliicis.ico
  691.  |---aplihplb.hlp
  692.  |
  693.  |---bin
  694.  |    |
  695.  |    |---aosapl2.exe
  696.  |    |---ap100.exe
  697.  |    |---ap119.exe
  698.  |    |---ap120.exe
  699.  |    |---ap124.exe
  700.  |    |---ap127.exe
  701.  |    |---ap145.exe
  702.  |    |---ap207.exe
  703.  |    |---ap210.exe
  704.  |    |---ap211.exe
  705.  |    |---apl2.cmd
  706.  |    |---apl2.ico
  707.  |    |---apl2logo.exe
  708.  |    |---apl2psrv.exe
  709.  |    |---apl2road.ico
  710.  |    |---apl2svp.prf
  711.  |    |---apl2svp.prm
  712.  |    |---apl2svpt.exe
  713.  |    |---apl2tcps.exe
  714.  |    |---apl2util.exe
  715.  |    |---apl2db2.cmd
  716.  |    |---apldb2cs.bnd
  717.  |    |---apldb2rr.bnd
  718.  |    |---apldb2ur.bnd
  719.  |    |---apledit.exe
  720.  |    |---aplnm011.nam
  721.  |    |---demo145.res
  722.  |    |---en_uk.nlt
  723.  |    |---en_us.nlt
  724.  |    |---fr_fr.nlt
  725.  |    |---gr_gr.nlt
  726.  |    +---it_it.nlt
  727.  |
  728.  |---dll
  729.  |    |
  730.  |    |---apl2crt.dll
  731.  |    |---apl2svp.dll
  732.  |    |---apl2svpn.dll
  733.  |    |---apl2svpt.dll
  734.  |    |---apl2xtrn.dll
  735.  |    |---aplna011.dll
  736.  |    |---aplpm.dll
  737.  |    |---demo145.dll
  738.  |
  739.  |---fonts
  740.  |    |
  741.  |    |---ap124fnt.fon
  742.  |    |---apl2info.fon
  743.  |    |---apl2ital.afm
  744.  |    |---apl2ital.pfb
  745.  |    |---courapl.afm
  746.  |    |---courapl.pfb
  747.  |    |---couraplb.afm
  748.  |    |---couraplb.pfb
  749.  |    |---goteng.avf
  750.  |    |---gotger.avf
  751.  |    |---gotita.avf
  752.  |    |---greser.avf
  753.  |    |---gresim.avf
  754.  |    |---markers.avf
  755.  |    |---modsim.avf
  756.  |    |---romdup.avf
  757.  |    |---romdupf.avf
  758.  |    |---romita.avf
  759.  |    |---romitab.avf
  760.  |    |---romser.avf
  761.  |    |---romserb.avf
  762.  |    |---romsim.avf
  763.  |    |---romsimm.avf
  764.  |    |---sanser.avf
  765.  |    |---sanserf.avf
  766.  |    |---script.avf
  767.  |    |---thkrndf.avf
  768.  |    |---thkrndo.avf
  769.  |    |---thksquf.avf
  770.  |    +---thksquo.avf
  771.  |
  772.  |---help
  773.  |    |
  774.  |    |---ap120.hlp
  775.  |    |---ap120edt.hlp
  776.  |    |---ap145.hlp
  777.  |    |---ap207x.hlp
  778.  |    |---apl2osug.inf
  779.  |    |---applsvpt.hlp
  780.  |    |---apledit.hlp
  781.  |    |---aplkey.hlp
  782.  |    |---aplpm.inf
  783.  |    +---aplprint.hlp
  784.  |
  785.  |---include
  786.  |    |
  787.  |    |---aplap.h
  788.  |    |---aplobj.h
  789.  |    |---aplpm.h
  790.  |    |---aplsvi.h
  791.  |    +---apserver.h
  792.  |
  793.  |---lib
  794.  |    |
  795.  |    |---apl2dll.obj
  796.  |    |---aplpm.lib
  797.  |    +---apl2svp.lib
  798.  |
  799.  |---samples
  800.  |    |
  801.  |    |---ap999.c
  802.  |    +---apsample.atf
  803.  |
  804.  |---wslib1
  805.  |    |
  806.  |    |---display.apl
  807.  |    |---edit.apl
  808.  |    |---examples.apl
  809.  |    |---idioms.aof
  810.  |    |---idioms.apl
  811.  |    |---mathfns.apl
  812.  |    |---time.apl
  813.  |    +---utility.apl
  814.  |
  815.  +---wslib2
  816.       |
  817.       |---ap124.apl
  818.       |---demo124.apl
  819.       |---demo145.apl
  820.       |---demo207.apl
  821.       |---file.apl
  822.       |---graphpak.apl
  823.       |---migrate.apl
  824.       |---os2.apl
  825.       |---pmtools.apl
  826.       |---pmwin.apl
  827.       |---printws.apl
  828.       +---sql.apl
  829.  
  830.     
  831. ========================================================================
  832.  Support
  833. ========================================================================
  834.  
  835.  We'd like to hear from you!
  836.  
  837.  Please report any comments, suggestions, or problems through one of the
  838.  following channels:
  839.  
  840.    Internet: apl2@vnet.ibm.com
  841.  
  842.    FAX:      (408) 463-4488
  843.  
  844.    Mail:     APL Products & Services
  845.              IBM Santa Teresa Laboratory, M46/D12
  846.              555 Bailey Ave.
  847.              San Jose, CA 95141
  848.  
  849.    CompuServe: go IBMAPL2
  850.  
  851.  
  852. ========================================================================
  853.  Trademarks
  854. ========================================================================
  855.  
  856.  The following terms are trademarks of the IBM Corporation.  They are
  857.  denoted by an asterisk (*) when they first appear in the text.
  858.  
  859.      APL2
  860.      IBM
  861.      OS/2
  862.      Presentation Manager
  863.  
  864.  The following terms are trademarks of other companies. They are
  865.  denoted by a double asterisk (**) when they first appear in the text.
  866.  
  867.      PostScript          Adobe Systems, Inc.
  868.      LaserJet            Hewlett-Packard, Inc.
  869.      
  870.