79 lines
6.2 KiB
COBOL
79 lines
6.2 KiB
COBOL
00001 ***** 09/06/00
|
|
00002 * DTSIL090
|
|
00003 * DTSIL090 PARAGRAPH FORMATING MODULE LINKAGE. LV006
|
|
00004 * DTSIL090
|
|
00005 * INPUT UP TO 50 WORDS OR GROUPS OF WORDS AND A DTSIL090
|
|
00006 * DESIRED LINE LENGTH (AS WELL AS A COUNT OF THE DTSIL090
|
|
00007 * NUMBER OF GROUPS OF WORDS) AND THIS MODULE WILL DTSIL090
|
|
00008 * RETURN PARAGRAPH LINES AS CLOSE TO THE DESIRED DTSIL090
|
|
00009 * LENGTH AS POSSIBLE WITHOUT RUNNING OVER. DTSIL090
|
|
00010 * DTSIL090
|
|
00011 * BETWEEN WORDS IN EACH WORD GROUP THAT ARE NOT DTSIL090
|
|
00012 * TO APPEAR ON SEPARATE PARAGRAPH LINES, THE DTSIL090
|
|
00013 * CALLING MODULE MUST REPLACE EACH SPACE WITH DTSIL090
|
|
00014 * L090-SPECIAL-CHAR. THE SPECIAL CHARACTER DTSIL090
|
|
00015 * WILL BE, IN TURN, REPLACED BY A SPACE IN THE DTSIL090
|
|
00016 * PARAGRAPH THAT IS RETURNED. TO BYPASS THIS DTSIL090
|
|
00017 * PROCESSING, SET L090-SPECIAL-CHAR TO LOW-VALUE. DTSIL090
|
|
00018 * DTSIL090
|
|
00019 * IF A GIVEN WORD GROUP IS TO BE UNDERLINED OR DTSIL090
|
|
00020 * BOLDED THE CALLING MODULE NEEDS TO SET DTSIL090
|
|
00021 * L090-PHRASE-OVERSTRIKE-IND ACCORDINGLY AND DTSIL090
|
|
00022 * DTSBU090 WILL RETURN A PARAGRAPH LINE WHICH CL**2
|
|
00023 * IS TO BE WRITTEN AFTER ADVANCING +0 AS INDICATED DTSIL090
|
|
00024 * BY L090-PARAGRAPH-LINE-DUPE-88. OTHERWISE DTSIL090
|
|
00025 * L090-PHRASE-OVERSTRIKE-IND NEEDS TO BE INITIALED DTSIL090
|
|
00026 * TO SOMETHING OTHER THAN 'B' OR 'U' BY THE DTSIL090
|
|
00027 * CALLING MODULE. DTSIL090
|
|
00028 * DTSIL090
|
|
00029 * SPACES AT THE END OF A GROUP OF WORDS ARE DTSIL090
|
|
00030 * COMPRESSED TO ONE SPACE (OR TWO SPACES IF THE DTSIL090
|
|
00031 * GROUP OF WORDS ENDS IN A PERIOD). SPACES AT THE DTSIL090
|
|
00032 * BEGINNING OF A WORD GROUP AND SPACES BETWEEN DTSIL090
|
|
00033 * TWO WORDS IN A WORD GROUP ARE LEFT ALONE. DTSIL090
|
|
00034 * DTSIL090
|
|
00035 * L090-INDENT WILL INDENT ALL LINES BUT THE FIRST DTSIL090
|
|
00036 * LINE IN THE RETURNED PARAGRAPH BY THE STATED DTSIL090
|
|
00037 * AMOUNT (STARTING COLUMN = 1 + L090-INDENT). TO DTSIL090
|
|
00038 * INDENT THE FIRST LINE PUT LEADING SPACES IN DTSIL090
|
|
00039 * L090-PHRASE(1). TO LEFT-JUSTIFY SET L090-INDENT DTSIL090
|
|
00040 * TO ZERO. DTSIL090
|
|
00041 * DTSIL090
|
|
00042 * BECAUSE OF A FLUKE THAT CAN OCCUR WITH PUNCTUA- DTSIL090
|
|
00043 * TION, THE CALLING MODULE SHOULD MAKE THE VALUE DTSIL090
|
|
00044 * OF L090-DESIRED-LINE-LIMIT 1 LESS THAN THE LENGTHDTSIL090
|
|
00045 * IT WILL ACTUALLY PULL OFF OF L090-PARAGRAPH-LINE.DTSIL090
|
|
00046 * DTSIL090
|
|
00047 ***** DTSIL090
|
|
00048 SKIP1 DTSIL090
|
|
00049 10 L090-LENGTH PIC S9(04) COMP VALUE +9382. DTSIL090
|
|
00050 SKIP1 DTSIL090
|
|
00051 10 L090-DESIRED-LINE-LIMIT PIC S9(03) COMP-3. DTSIL090
|
|
00052 10 L090-INDENT PIC S9(03) COMP-3. DTSIL090
|
|
00053 SKIP1 DTSIL090
|
|
00054 10 L090-SPECIAL-CHAR PIC X(01). DTSIL090
|
|
00055 88 L090-NO-SPECIAL-CHAR-88 VALUE LOW-VALUE. DTSIL090
|
|
00056 88 L090-SPECIAL-CHAR-STD-88 VALUE '\'. DTSIL090
|
|
00057 SKIP1 DTSIL090
|
|
00058 10 L090-PHRASE-CNT PIC S9(04) COMP. DTSIL090
|
|
00059 10 L090-PHRASE-TABLE OCCURS 50 TIMES DTSIL090
|
|
00060 INDEXED BY L090-PHRASE-IDX. DTSIL090
|
|
00061 15 L090-PHRASE PIC X(80). CL**6
|
|
00062 15 L090-PHRASE-OVERSTRIKE-IND DTSIL090
|
|
00063 PIC X(01). DTSIL090
|
|
00064 88 L090-PHRASE-UNDERLINE-88 VALUE 'U'. DTSIL090
|
|
00065 88 L090-PHRASE-BOLD-88 VALUE 'B'. DTSIL090
|
|
00066 88 L090-PHRASE-OVERSTRIKE-88 VALUE 'B' 'U'. DTSIL090
|
|
00067 SKIP1 DTSIL090
|
|
00068 10 L090-RETURN-CODE PIC X(01). DTSIL090
|
|
00069 88 L090-SUCCESSFUL-88 VALUE '0'. DTSIL090
|
|
00070 88 L090-UNSUCCESSFUL-88 VALUE '8'. DTSIL090
|
|
00071 SKIP1 DTSIL090
|
|
00072 10 L090-PARAGRAPH-LINE-CNT PIC S9(04) COMP. DTSIL090
|
|
00073 10 L090-PARAGRAPH-TABLE OCCURS 40 TIMES DTSIL090
|
|
00074 INDEXED BY L090-PARAGRAPH-IDX. DTSIL090
|
|
00075 15 L090-PARAGRAPH-LINE-DUPE-IND DTSIL090
|
|
00076 PIC X(01). DTSIL090
|
|
00077 88 L090-PARAGRAPH-LINE-DUPE-88 VALUE 'Y'. DTSIL090
|
|
00078 15 L090-PARAGRAPH-LINE PIC X(132). CL**6
|