home *** CD-ROM | disk | FTP | other *** search
/ Zodiac Super OZ / MEDIADEPOT.ISO / FILES / 11 / MMCONV21.ZIP / MMCONV21.DOC < prev    next >
Text File  |  1996-02-26  |  50KB  |  1,076 lines

  1.  
  2.                                   MMCONV
  3.  
  4.         So what does the program do?  Here's one person's answer...
  5.  
  6. ===========================================================================
  7. From: DALE SHIPP                   Refer#: NONE
  8.   To: TOM GREAVES                   Recvd: NO
  9. Subj: Re: new user questions         Conf: (66) MEAL-MASTE
  10. ---------------------------------------------------------------------------
  11.  
  12.  Tom,
  13.    Let me give you another approach to the problem, and the way that we
  14.    do it.   I agree that the MM format is rigid in it field
  15.    specification, and sort of understand why Scott has made it so.  If
  16.    we are typing in only a few recipes then we type them in directly
  17.    into MealMaster using its internal editor.  That does at least do the
  18.    formating for you with respect to fields for the numbers,
  19.    ingredients, headers, directions and all of that.   If we are typing
  20.    a large number of recipes in, I will use a text editor (i.e. Qedit)
  21.    and not worry too much about the fields -- just that I have the
  22.    title line, then the keywords line, then the ingredients, then a
  23.    blank line and then the directions.   On the line about the title, I
  24.    put the string --MM, and after the last line of the directions I put
  25.    a string of ------ (at least 3).   Once I have all of my recipes
  26.    typed in this form (and spell checked!) I run them through the
  27.    program called MMCONV.  [just saw an announcement that Rodney
  28.    Grantham is releasing version 1.9 ].
  29.  
  30.    What MMCONV does for me is to take my sloppy, free format recipe and
  31.    reformat it into good and clean MealMaster format.  Here is a before
  32.    and after pseudo example:
  33.  
  34. --MM
  35. Tricks for using MMCONV
  36. Keywords: info, MMCONV, text, conversion
  37.  
  38. 1 ea info
  39. h  special heading information
  40.      use version 1.9 of Rodney Grantham's program
  41.      I believe it needs at least one ingredient line
  42.      Notice how it does continue lines
  43.  
  44. The words ingredients and directions seem to have special meaning and
  45. sometimes produce strange results, depending in part on where they are
  46. located in the text.  Note the lines above, and what happened to them.
  47. This should not be a problem in a normal recipe.
  48.  
  49. Put a blank line between the ingredients and the beginning of the main
  50. body of directions.  There are other clues that his program looks for,
  51. but a blank line is the easiest to type.  The special heading info line
  52. has an "h" in column 1 or 2, it may be upper case H as well. It does not
  53. matter how long the string of dashes to terminate is.  Three or more
  54. works.  In fact this is some times a problem that causes the early
  55. termination of recipes.  It would be quite legitament for someone to
  56. enter a line of dashes in the ingredient or directions list because it
  57. makes a decent looking separator.  But MMCONV picks up on it as a
  58. terminator. Since I am using Qedit, I have the full power of macros I
  59. have written, spell checking etc.  The line below is a single button
  60. push for me:
  61.  
  62. == Courtesy of Dale & Gail Shipp, Columbia Md. ==
  63.  
  64. ----------
  65. And here comes the converted "recipe"
  66. MMMMM-----Meal-Master - formatted by MMCONV  1.80
  67.  
  68.      Title: Tricks For Using Mmconv
  69. Categories: Info, Mmconv, Text, Conversion
  70.   Servings: 1
  71.  
  72.       1 ea info
  73. MMMMM====  special heading information =====================
  74.            use version 1.9 of Rodney
  75.            Grantham's program
  76.            Notice how it does continue
  77.            lines
  78.  
  79. The words ingredients and directions seem to have special meaning and
  80. sometimes produce strange results, depending in part on where they are
  81. located in the text.  Note the lines above, and what happened to them.
  82. This should not be a problem in a normal recipe.
  83.  
  84. Put a blank line between the ingredients and the beginning of the main
  85. body of directions.  There are other clues that his program looks for,
  86. but a blank line is the easiest to type.  The special heading info line
  87. has an "h" in column 1 or 2, it may be upper case H as well. It does not
  88. matter how long the string of dashes to terminate is.  Three or more
  89. works.  In fact this is some times a problem that causes the early
  90. termination of recipes.  It would be quite legitament for someone to
  91. enter a line of dashes in the ingredient or directions list because it
  92. makes a decent looking separator.  But MMCONV picks up on it as a
  93. terminator. Since I am using Qedit, I have the full power of macros I
  94. have written, spell checking etc.  The line below is a single button
  95. push for me:
  96.  
  97. == Courtesy of Dale & Gail Shipp, Columbia Md. ==
  98.  
  99.      I believe it needs at least one ingredient line
  100.  
  101.   From: Dale Shipp                      Date: 20 Jun 95
  102.  619
  103. MMMMM-------------------------------------------------
  104.  
  105. ... Shipwrecked on Hesperus in Maryland. 22:06:31 20 Jun 95
  106. ___ Blue Wave/QWK v2.12
  107.  
  108.  
  109. --- InterEcho 1.08
  110.  * Origin: MetroNet * Columbia, MD *  (410) 720-5506 *  (1:261/1137)
  111.  
  112.        ================================================================
  113.  
  114.     To register and support future (and past) development of MMCONV, send
  115. your name and address with $5 or more to:
  116.  
  117.               Rodney Grantham
  118.               770 Cranberry Trail
  119.               Roswell, GA 30076
  120.  
  121.     If you include $3 S&H, the latest version will be sent to you.
  122.  
  123.        ================================================================
  124.  
  125.     If you have suggestions send them to the same address.  I can also be
  126. contacted via RIME or I-LINK or FIDO CUISINE conferences.  Karen Mintzias'
  127. Meal-Master conference on FIDO is specifically designed for support of MM
  128. and related programs such as MMCONV.
  129.  
  130.     I also have an email address:  Rodney.Grantham@SID.NET
  131.  
  132.         -----------------------------------------------------------
  133.  
  134.     The easiest way to find out how MMCONV works is try it on some recipes.
  135. If you wonder if it handles a given situation, just try it.  The original
  136. file is not affected, so there is no danger.  Once you've used it for a
  137. while, you might want to read some of the rest of this.
  138.  
  139.     You can run MMCONV from a menu as shown immediately below.  You can
  140. also run it with a parameter string specifying the options you choose.
  141. The latter was the only way to run MMCONV originally.  Some information on
  142. this approach is given later on in the file for particularly hearty souls.
  143.  
  144.  
  145.     When you type MMCONV and press enter, something similar to the
  146. following displays:
  147.  
  148. ---------------------------------------------------------------------------
  149.  
  150.               MMCONV - MM recipe formatter  2.10
  151.  
  152.          Recipe file:                   <<< this is your input recipe file
  153.          Output file:       MM0908.1
  154.     Save extra lines:       XTRA0908.1
  155.     Default category:       Maindish
  156.          Left footer:
  157.         Right footer:
  158.        Title display:       Y
  159.     Use generic head:       Y
  160.       Zap categories:       Y
  161.   Save screen output:       Y
  162.   Save skipped lines:       Y
  163.    Use 2 line credit:       Y
  164.    Registration Info:       N
  165.  
  166.  
  167.  
  168.  
  169.         Press Escape When Ready to Run Program
  170.  
  171. ---------------------------------------------------------------------------
  172.  
  173.     MMCONV ignores the information surrounding recipes other than
  174. attempting to pick up the information specified in MMCONV.HDR to put at the
  175. bottom of the formatted recipe.  MMCONV detects the start and end of
  176. recipes in several different ways:
  177.  
  178.         Start of recipe:                         program using:
  179.  
  180.                 --MM                                    MMCONV
  181.  
  182.                 -Begin Recipe Export-                   QUIKBOOK
  183.  
  184.                 **********                              Compu-Chef
  185.                   (next line must have ** in it)
  186.  
  187.                 *** FROM SCRATCH RECIPE BEGINS *****    From Scratch
  188.  
  189.                 ####@ ASCII"                            Micro-Cook
  190.  
  191.                 *  EXPORTED FROM  MASTERCOOK"           MasterCook
  192.  
  193.                 *  EXPORTED FROM  Key Home Gourmet"     Key Home Gourmet
  194.  
  195.  
  196.         End of recipe:
  197.  
  198.                  ---                                    MMCONV
  199.  
  200.                  -End Recipe Export-                    QUIKBOOK
  201.  
  202.                  Recipe Via Compu-Chef
  203.  
  204.                   ********** RECIPE ENDS ********       From Scratch
  205.  
  206.                  - - - -                                MasterCook,
  207.                                                         Key Home Gourmet
  208.  
  209.     MMCONV does not require these to be paired with the associated recipe
  210. type ending.  If a recipe is missing its footer, just put some dashes '---'
  211. and MMCONV will know to stop.
  212.  
  213.     Most recipes with Meal-Master headers will be extracted with no
  214. additional editing.  DO NOT USE MEAL-MASTER HEADERS on recipes that aren't
  215. actually Meal-Master as they will not get formatted.
  216.  
  217.     Some recipes get messed up by editors and have some wrap-around,
  218. particularly if double column format is used.  These will require editing.
  219. MMCONV basically copies these recipes 'as-is'.  It assumes they are
  220. legitimate Meal-Master formatted recipes.  The sender's name and date are
  221. placed at the bottom of the recipe.
  222.  
  223.     Output file name defaults to the value shown.  If MMCONV is run
  224. multiple times in one day, a new file name is created by varying the .1 so
  225. that all the files generated exist until purged by you.  You do not need to
  226. change the number manually since MMCONV will detect the existing file(s)
  227. and correctly set the number.
  228.  
  229.     'Save extra lines' and 'Saved skipped lines' together copy the
  230. non-recipe lines to a file for later perusal.  The default file name is
  231. shown in the menu.  There is no need to change it.  MMCONV automatically
  232. increments the number after the '.' before saving the data if the program
  233. is run multiple times.  If you set your own name, a similar approach is
  234. used to avoid duplicate files.
  235.  
  236.     You must mark 'Y' for the 'saved skipped lines' if you want these lines
  237. written to the file whether you use the default or specify a different file
  238. name.  Originally, MMCONV always wrote these lines and you could only
  239. control the file name.  Mark the option "Save skipped lines" to "N" if you
  240. don't want this stuff saved.
  241.  
  242.     Some people use this option to go back and mark recipes that were not
  243. automatically picked up with headers and footers for a second run.  It can
  244. also be used to detect the occasional recipe that MMCONV fails to pick up
  245. correctly.  The saved information shows where recipes were taken out and
  246. the name of the extracted recipe to help you locate any problem recipes.
  247.  
  248.     The settings you pick for the remaining options (except for the one to
  249. show registration information) get saved to a file.  If you typically use
  250. the same set of options, you only have to set these preferences once.
  251. MMCONV will always start with your preferences set as the default after the
  252. initial setting.
  253.  
  254.     Default category is preset to Maindish.  You can modify this to
  255. whatever you prefer.  For example on a ZIP file of chicken recipes, Chicken
  256. would be appropriate; if loading drink recipes, make it Drinks.  If you
  257. want to be sure to spot recipes with no category, make it WHOOPS or some
  258. similar easily located word.
  259.  
  260.     Left and Right footers allow you to supplement the use of From and
  261. Date.  This could be used to add commentary, such as zip name and author to
  262. a zip file of recipes.  Or the conference or network to a collection of
  263. recipes off a BBS.  You can run the original output file of recipes through
  264. a second time to add additional comment lines.
  265.  
  266.     If you specify FILE=filename for one of these footers, that file is
  267. read in and placed at the bottom of each recipe processed.  Thus a file
  268. SSstuff containing:
  269.  
  270.   Brought to you by MMCONV and Sylvia Steiger, GEnie THE.STEIGERS,
  271.   CI$ 71511,2253, Internet sylvia.steiger@lunatic.com, moderator of
  272.   GT Cookbook and PlanoNet Lowfat & Luscious echoes
  273.  
  274. could be provided as FILE=SSSTUFF and the information at the bottom of the
  275. recipe would then be:
  276.  
  277.   Brought to you by MMCONV and Sylvia Steiger, GEnie THE.STEIGERS,
  278.   CI$ 71511,2253, Internet sylvia.steiger@lunatic.com, moderator of
  279.   GT Cookbook and PlanoNet Lowfat & Luscious echoes
  280.  
  281.   From: Dorie Villarreal                Date: 01-07-94
  282.   The Lunatic Fringe Bbs                 (231) R-Cuisine
  283.  
  284.     Title display is whether MMCONV should show the Titles as it saves the
  285. recipes.  Sometimes error messages display and knowing the title the error
  286. occurred near can be helpful in locating the problem.  See also the "Save
  287. screen output" option.
  288.  
  289.     "Use generic head" causes MMCONV to use the content of a file named
  290. MMCONV.HDR if it exists.  This file should specify what to look for to
  291. detect a header on your messages.  The default ("N") causes SLMR and
  292. BlueWave to be detected.  Both can be in the same packet since MMCONV looks
  293. for both CONF:  and AREA:.  Using the MMCONV.HDR file you could only
  294. specify one of these.
  295.  
  296.     The file MMCONV.HDR expects four lines of at least 3 characters per
  297. line.  If any line does not have 3 characters, the default settings are
  298. used.  The lines to correspond with normal processing are:
  299.  
  300. FROM:
  301. DATE:
  302. CONF:
  303. BBS:
  304.  
  305.     These display at the bottom of your message with From & Date
  306. information (whatever you set it to) on the first line and Conf and BBS
  307. information on the second line.  For example in BlueWave you could
  308. substitute Subj: for BBS: and the message subject would print.
  309.  
  310.     The menu item 'Zap categories' gives you control of removal of
  311. categories from recipes.  Starting with version 1.8 you can set up a file
  312. to control what categories are removed.  The MMCONV18 zip file includes the
  313. standard set of categories which you can edit in MMCONV.zp.  This lists the
  314. categories MMCONV normally removes.  To activate this file, you have to
  315. rename it MMCONV.zap.  There is no reason to use the file unless you want
  316. to either add to or delete from the list of categories that MMCONV normally
  317. 'zaps'.
  318.  
  319.     The usual zapped categories are:
  320.  
  321.     "RGG3","OURS","MINE","TRY IT",
  322.     "UUCP","RACENET","ROBERTS","GENIE","PRODIGY","HOT DOG","PERSONAL",
  323.     "FCB", ",MINE", " BEST", ",BEST", ",MOM'S", " MOM'S", ",ECHO", " ECHO",
  324.     "CYBEREALM", "MY FAVORITE", "FAVORITE", "OSG1966", ",MY", " MY", "*,"
  325.  
  326.     The option "Save screen output:" can be used to control whether screen
  327. output is written to a file.  The file name used is always SCRNmmdd.n.  You
  328. have no choice.  Occasionally an error message on number of servings is
  329. shown on the screen.  If you miss such a message, rerunning and saving the
  330. output can let you edit the file to determine which recipe had the problem.
  331.  
  332.     'Save skipped lines' is covered above with 'Save extra lines'.
  333.  
  334.     'Use 2 line credit' gives control over whether the extra words
  335. (typically BBS and Conference) are written as a second credit line.  If
  336. this is marked 'N' only the From: and Date: information will display.
  337.  
  338.     'Press Escape When Ready to Run Program' is self-explanatory, I
  339. believe.  The ESC key (often in the upper left corner of a keyboard) causes
  340. MMCONV to run.  You can also carriage return (Enter) off the Registration
  341. Info entry area.
  342.  
  343.     Note that the MENU is 'circular' so you can use an UP-arrow to get to
  344. the bottom of the MENU.
  345.  
  346. ---------------------------------------------------------------------------
  347.  
  348.  
  349.     If a recipe does not have a QUIKBOOK, COMPU-CHEF, FromScratch or
  350. MealMaster header and footer, it must be manually marked.  Put --MM at the
  351. top and at least 3 dashes (---) at the bottom.  Both of these must be
  352. aligned with the left margin.
  353.  
  354.     DO NOT add a MealMaster format header to a non-MM recipe.  Recipes
  355. marked with genuine MealMaster headers (or close resemblances) are copied
  356. as is.  With version 1.30 some of the categories are changed (ZAP option)
  357. even in MM format recipes, but otherwise they are unedited and unmodified.
  358. Most of the other headers could be used to mark a recipe, but the --MM
  359. and --- are fewer characters.  Also some of the other headers imply special
  360. processing which may impact the recipe.
  361.  
  362.     MMCONV will handle a missing footer - but not well.  It will be stopped
  363. by the next header.  However, this may cause the inclusion of extra stuff
  364. such as taglines and message header information in some cases.  You also
  365. lose the correct header information in the succeeding recipe.
  366.  
  367.     The MMCONV program will split lines that are too long for the basic MM
  368. format.  If these lines are in column 2, there will be a '-' inserted in
  369. column 1 if it would otherwise be blank.  This is required to force MM to
  370. treat the 2nd column as a separate column.  Without this, MM thinks it has
  371. a single line of input which is too long.
  372.  
  373.     Occasionally recipes have commentary between the title and the
  374. ingredients.  You must manually move these into the direction section of
  375. the recipe or delete them for MMCONV to process the recipe correctly.  Any
  376. items that contain a colon (":") are automatically shifted to the bottom of
  377. the recipe.  Thus you can just put colons in front of extra lines if none
  378. is already present and they will be moved.
  379.  
  380.     Some items are automatically detected and skipped.  Beginning with
  381. version 1.8, any line with an embedded colon that is not one of the
  382. standard MM lines gets moved to the bottom of the recipe.  Lines with the
  383. following characters (upper or lower case), for example:
  384.  
  385.          FROM, COOKING TIME:, PREP:, COOK:, DESCRIPTION :, extra
  386.          CATEG or KEYWORD or TITLE entries after one has
  387.          occurred;
  388.  
  389.               /* skip Compu-chef extra */
  390.             "FAT GRAMS"
  391.             "CHOLESTEROL"
  392.             "INGREDIENT"
  393.               /* skip newone extra */
  394.             "OVEN TEMP  :"
  395.             "MINUTES    :"
  396.             "ORIGIN     :"
  397.              /* skip Peliggi extra */
  398.             "QTY    MEASUREMENT       INGREDIENT"
  399.  
  400.     The following 'measures' are recognized as likely to have extra spaces
  401. after them and an attempt is made to not have MMCONV mistake the extra
  402. space for an additional column:
  403.  
  404.       "WHOLE","STK","ENVELOPE","ENV","BUNCH","BUNCHES",
  405.       "SQUARES","SQS","SQ","SQUARE",
  406.       "JUMBO","XLG","X-LG",
  407.       "BOX", "BOXES", "INCH", "INCHES", "GLASS",
  408.       "GLASSES", "CLOVES", "CLOVE", "CLOV", "CLV", "HEADS",
  409.       "HEAD","HD","HDS", "BAG", "BAGS", "STICK", "STICKS", "PIECES",
  410.       "PIECE", "STALK", "STALKS","STKS","STA","EAR",
  411.       "EARS","STRIPS","STRIP","RIBS","DASH","JAR","SPRIG","SPRIGS",
  412.       "RIB","RIBS","SHEETS","SHEET","ROLL","ROLLS"
  413.  
  414.     Since MMCONV detects start of directions by a blank line, sometimes
  415. you will have to remove additional blank lines occurring in the ingredient
  416. sections of non-MM recipes.   (Real MM recipes are copied as is and should
  417. import with no trouble unless the author or his/her editor mangled them).
  418.  
  419.     MMCONV will recognize categories headed with all the following in any
  420. combination of upper or lower case and format them for MM:
  421.  
  422.          Category:
  423.          Categories:
  424.          Keywords:
  425.          Cat:
  426.          Category :
  427.  
  428.     Servings will default to 4 with version 2.1.  (Previously 1).  MMCONV
  429. looks for these characters (case-blind) to occur on first non-blank line
  430. after the title (or with specific database formats, as the line after
  431. category information) and expects a colon or space to follow them:
  432.  
  433.     SERV  (serves or servings or serving detected)
  434.     MAKE  (make or makes)
  435.  
  436. If these are found and the servings is 0, it will be set to four.  If a
  437. non-numeric serving is found, default of four will be used.  A message
  438. showing the problem line will print out so you can fix the servings:
  439.  
  440. TOMATO-CILANTRO BREAD
  441.  Problem with servings:  Makes one 9x5 loaf
  442.  
  443.     Starting with version 1.80, these error messages along with the title
  444. display are written to a file SCRNmmdd.n so that they can easily be
  445. reviewed.  This can be overridden by specifying "N" to the option about
  446. saving screen output.
  447.  
  448.     Ingredients begin after the title category and serving processing is
  449. done and any intervening blank lines are skipped.  If your recipe actually
  450. has no ingredients, put in "none" for ingredients followed by a blank line.
  451.  
  452.     The first blank line marks start of directions.  Everything after that
  453. is taken as directions.  All directions will be aligned with the left
  454. margin.  QBOOK direction markers are recognized.  You don't need to insert
  455. a blank line here in QBOOK recipe formats.
  456.  
  457.     Any combination of 3 or more --- or ___ with no other characters except
  458. possibly blanks on the line terminates recipes processing.
  459.  
  460.  
  461. ---------------------------------------------------------------------------
  462.  
  463.     I like to know who originated the recipe.  Typing this information on
  464. each recipe by hand is tedious.  This program will scan through a file and
  465. add a credit line at the end of each recipe based on the From:  and Date:
  466. information in the header.  If the recipes are read from QWK or BlueWave
  467. messages, the From:  and Date:  info is placed at the end of the recipe:
  468.  
  469.   From: Linda Fields                   Date: 09-21-92
  470.  
  471. Beginning with version 1.80, this is expanded to include BBS and area or
  472. conference if that can be determined (overridden in 2.00 by marking that
  473. you don't want 2 line comment):
  474.  
  475.   From: Sylvia Steiger                  Date: 04-17-94
  476.   Ed Hopper's Bbs ■ Internet: Ehbbs.Co  (317) Nx-Buffet
  477.  
  478.     If there is a mixture of headed messages and recipes, the message
  479. header information will affect more recipes than the one associated with
  480. it.  Basically, the credit information from it will carry on till the next
  481. header is found.
  482.  
  483.     My approach to using MMCONV is to mark the recipes and then format the
  484. input file with MMCONV.  I then examine the output recipes.  Any recipes
  485. that were not correctly processed, I tweak in the input file and then
  486. reprocess the input file.  (If there are only minor irregularities, I fix
  487. the output file and proceed to import.)  With the addition of the
  488. XTRAmmdd.n files, you can also peruse these files to determine if something
  489. was skipped or a recipe was chopped off.
  490.  
  491.     If the error is something I think the program should have handled, a
  492. new version is created or added to.  If you find something you think should
  493. be handled, please let me know.  I may not agree, but I'm willing to
  494. consider suggestions.  That is how save extra lines file and a new approach
  495. to recipe processing used since version 1.40 both came about.  Also the
  496. screen display rather than parameter input was suggested by Karen Mintzias.
  497. If you review the information on changes to versions, you will see the
  498. names of a number of people who have contributed to MMCONV's evolution.
  499.  
  500.     This process repeats until the recipes look right to me.  Or until a
  501. few manual changes are all that is required.  Typically, at most two passes
  502. have been required.  You may take several until you get a handle on what
  503. the program expects.
  504.  
  505.     Frank Skelly uses MARKIT in a slightly different approach to using
  506. MMCONV.  He has threatened to write better documentation and presumably
  507. will include a description.  For now this is a message he sent (slightly
  508. edited):
  509.  
  510. ---------------------------------------------------------------------------
  511. Date: 08-26-93 (23:19)             Number: 12001
  512. From: Frank Skelly                 Refer#: NONE
  513.   To: LINDA FIELDS                  Recvd: NO
  514. Subj: MM versions                    Conf: (57) Cuisine
  515. ---------------------------------------------------------------------------
  516. LF>FS>Love MMCONV. Using it to *finally* get 6 Meg of Edna's Cookbook recipes
  517. LF>  >converted. *MUCH* easier than doing it by hand!
  518.  
  519. LF>I have been *trying* to get someone to respond to me on just how to use
  520. LF>MMCONV, but alas and alack... no one did..
  521.  
  522. Use your word processor to remove the page breaks so that the *only*
  523. locations that have two blank lines are between the recipes. Then run
  524. MARKIT.EXE. This looks for two blank lines and adds '--MM' followed by
  525. '--'. This is the minimum that MMCONV will recognise as a MM recipe.
  526. Then run MMCONV like so:
  527.  
  528. MMCONV12 inputfile (outputfile)  (xxxxx) is optional. The default
  529. outputfile is 'system date' dot 1. followed by 2, 3, 4, etc.
  530.  
  531. THEN run the output through your word processor again to clean up what
  532. got missed. Nothing's perfect! <G>
  533.  
  534. ------------  end of Frank's message  -------------------------------------
  535.  
  536.  
  537.     The following is a sample of what the program output looks like:
  538.  
  539.  AL'S CHOCOLATE TO THE MAX
  540.  DATE BALLS
  541.  FLOURLESS CHOCOLATE CAKE
  542.  RASPBERRY SAUCE
  543.  RASPBERRY FOOL
  544.  RED LOBSTER GARLIC CHEESE ROLLS
  545.  M&M PIZZAS
  546.  CRUNCHY ALMOND STICKS
  547.  PINATA COOKIES
  548.  ST LOUIS' PEANUT BUTTER COOKIES
  549.  ST LOUIS' RUM BALLS
  550.  
  551.  MM0312.5 contains formatted recipes
  552.  SCRN0312.5 contains screen output
  553.  
  554.  Processed: recipe.txt
  555.  Recipes saved: 11
  556.  
  557.  Meal Master recipes:     2
  558.        QBOOK recipes:     3
  559.      Generic recipes:     6
  560.  
  561.     Lines read: 331
  562.  Lines written: 242
  563.  
  564.     The recipe titles display as they are extracted.  This is followed by
  565. the output file name and the number of recipes.  The counts are the number
  566. of recipes that were found to be in various formats.  Generic is used to
  567. reference those you add --MM and --- as markers for.  The lines read and
  568. written print out at the end.  These counts are also written to the output
  569. file.
  570.  
  571.     The default output file name is MMmmdd.n (current month and day
  572. followed by a file number).  If you provide your own output file name, the
  573. file numbering convention is used similarly to avoid overwriting existing
  574. files.  It is supposed to go up to 999 versions, so there should be little
  575. problem with running out.  I have had up to 30+ versions in testing my
  576. programs.
  577.  
  578.     An example of the output produced by MMCONV functionality when
  579. encountering an MM recipe:
  580.  
  581. ---------- Recipe via Meal-Master (tm) v7.04
  582.  
  583.       Title: Mexican Fudge
  584.  Categories: Appetizers, Cheese/eggs
  585.    Servings:  1
  586.  
  587.       1 lb Monterey Jack cheese with           1 cn Evaporated milk (13 oz.)
  588.            Jalapeno pepper                     2    Eggs
  589.       1 lb Cheddar cheese                      3 tb Flour
  590.  
  591.   Grate cheese and lay in greased 9" x 13" pan.  Beat milk, eggs, and
  592.   flour together, pour over cheeses.  Bake 40 minutes at 350 degrees F. Cut
  593.   into squares or diamonds, serve hot or cold.
  594.  
  595.  
  596.   From: Karen Mintzias              Date: 03-02-93
  597. -----
  598.  
  599. --------------------------------------------------------------------------
  600.  
  601.         Running from parameters is also possible.  If you type MMCONV ?,
  602. MMCONV will tell you what options can be set.  This is the current display:
  603.  
  604.     Version 2.00 Meal-Master recipe formatter by Rodney Grantham
  605.  
  606.          Usage: MMCONV infile [outfile][ toggles ]
  607.           or MMCONV with no parameters for screen driven menu
  608.  
  609.     infile - contains recipes to be processed
  610.      *** Some manual pre-processing may be required ***
  611.     outfile - where to write Meal-Master format recipes by default:  MMmmdd
  612.     QUIKBOOK, COMPU-CHEF, FromScratch headings= & footers are handled.
  613.      Mark other recipes with --MM at start and ---  at end of the recipe.
  614.     Categories are picked up if headed Categories:, Keywords:, Cat:
  615.     If none of above is found, Category: Main dish is put in.
  616.     Servings: 1 is used if serving info not detected.
  617.       Serv or Make or Yield looked for as servings marker.
  618.     End of ingredients is marked by the first blank line
  619.       after the ingredients have begun.
  620.     -l      - add own footer for left side,e.g., -lFrom mm002.zip
  621.     -r      - add own footer for right side,e.g., -rFound 4/5/93
  622.     -t      - no title display as recipes are found
  623.     -s      - save non-recipe lines to XTRAmmdd.n for review
  624.     -d      - override default category with own, e.g., -ddesserts
  625.     -x      - look for From: & Date: rather than specific message header
  626.  
  627.  < Any Key to continue >
  628.  Registration for MMCONV is at least $5 U.S.
  629.  From Canada please send a postal money order.
  630.  
  631.  Include $3 S&H if want the latest version sent.
  632.  
  633.  If 3-1/2 inch disks are not desired, state 5-1/4.
  634.  Please tell me what version you are running.
  635.  
  636.  Rodney Grantham
  637.  770 Cranberry Trail
  638.  Roswell GA 30076
  639.  
  640.     If you run from the command line, the '-l' or '-L' and '-r' or '-R'
  641. parameters are similar to the menu items "Left footer" and "Right footer"
  642. and serve as ways to label a zip file or add a comment on the line before
  643. the author and date information. This also supports the "FILE=" option
  644. described above when run from the menu.
  645.  
  646.     Up to 38 characters will be used for either.  Some flexibility is
  647. supported here.  As long as the total characters for both is under 76, the
  648. program will combine the input into a credit line.  If the length exceeds
  649. 76, the input will be adjusted to fit the 76 space limit and a message
  650. showing the resulting credit line will be displayed.
  651.  
  652.     To enter just type, for example:
  653.  
  654.  MMCONV mmrecipe -lFrom the ZIP file: MM00.zip -rOff    SEMPERVIRENS BBS
  655.  
  656.     This will add the following CREDIT line at the bottom of recipes:
  657.  
  658.   From the ZIP file: MM00.zip            Off SEMPERVIRENS BBS
  659.  
  660.     If you add quotes to the -r parameter, the extra spaces will be
  661. preserved so this input:
  662.  
  663.  MMCONVnn mmrecipe -lFrom the ZIP file: MM00.zip -r"Off    SALATA BBS"
  664.  
  665.     produces this CREDIT line:
  666.  
  667.  From the ZIP file: MM00.zip             Off    SALATA BBS
  668.  
  669.     With a -z parameter from the command line, you can cause versions 1.40
  670. and higher to not delete the various categories I selected to get rid of.
  671.  
  672. --------------------------------------------------------------------------
  673.  
  674.      CLEAN.BAT is a batch file approach to cleaning up the MMCONV output.
  675. As comments in the file say:
  676.  
  677. rem             This batch file can be used to clear a directory of
  678. rem             the files created by MMCONV during processing.
  679. rem
  680. rem             It assumes that the version of DOS used is high enough
  681. rem             to support the '/p' parameter which causes the filename
  682. rem             to be displayed and the user be given the option of
  683. rem             deleting or skipping any specific file.
  684. rem
  685.  
  686.     If you don't have a version that supports the '/p' parameter and are
  687. real daring (or certain), you can edit the batch file and remove the '/p'.
  688. Any file fitting the criterion will then be deleted without verification by
  689. you.
  690.  
  691.  
  692. ---------------------------------------------------------------------------
  693.  
  694.     A number of utility programs were included in earlier versions of
  695. MMCONV.  They have not changed in a while so I am omitting them from this
  696. package.  If you are interested, pickup MMCONV20.zip to get the following
  697. utilities.  If you really find them useful, you might consider contributing
  698. for them as well.
  699.  
  700.     All these programs provide an explanation if you type the name with
  701. nothing after it.
  702.  
  703.     MARKIT formats recipes with no headers for processing by MMCONV.  With
  704. version 1.02 it also will format for QBOOK with a -Q option on the input
  705. line.
  706.  
  707.     MSGSPLIT divides up large files of messages (or other ASCII text) into
  708. smaller files for convenient processing by editors.
  709.  
  710.     MMSORT can divide up a file of MM recipes based on the category
  711. information in MMSORT.PRM.  For those with several databases of recipes
  712. this can ease recipe entry.  MMSORT.PRM and MMSORT2.PRM are example
  713. parameter files that I use.
  714.  
  715.     FTXT can pick out a message with a specific text in it or two specific
  716. items of text.
  717.  
  718.     PUNCT is a recent addition.  It puts spaces around punctuation.  It is
  719. designed for a specific situation someone mentioned in their recipes in the
  720. Meal-Master conference.
  721.  
  722. ---------------------------------------------------------------------------
  723.  
  724.  
  725.     Version History Information
  726.  
  727.     ver 1.0     This program is actually an enhancement to the previous
  728.                 MMCREDIT.zip which is still floating around the BBS world.
  729.                 It processes non-MM recipes as well as the former
  730.                 capability to add from and date info to MM recipes.
  731.  
  732.  
  733.     ver 1.1     - add TEAS to abbreviate
  734.                 - add OUNCES to abbreviate
  735.                 - translate ½ and ¼ (Stan Hall) to 1/2 and 1/4
  736.                 - activate -L & -R options to supply own footer
  737.                 - -T option suppresses display of Titles
  738.                         (opposite of MMCRDTnn functioning)
  739.                 - -C option to change ingredient line number of chars.
  740.                 - add SERVING detection
  741.                 - caseblind CompuChef & QUIKBOOK header/footer detect
  742.                 - CompuChef checks for "**********" & next line "**"
  743.                 - handle continuation in non-MM recipes
  744.                 - title: cap first char of words - lower the rest
  745.                 - no MM count display if it is zero
  746.                 - skip FAT GRAMS, CHOLESTEROL & INGREDIENT lines from
  747.                   COMPU-CHEF
  748.  
  749.  
  750.      ver 1.2
  751.                 - add TBSPS, TBLSP, TBL, #, SML, TEA, TBLS,
  752.                   QTS, TSPN, TSPNS, TBLSPNS, TBLSPN to abbreviate
  753.                 - add gallon which overlooked before
  754.                 - add standard metrics for MM: kg, g, l, etc.
  755.                 - modify SERV checking so won't pick up preserves
  756.                 - handle multiple fractions, e.g., 1/4-1/2 c water
  757.                 - extra recipe format:
  758.                      *** FROM SCRATCH RECIPE BEGINS *****
  759.                         ********** RECIPE ENDS ********
  760.                 - save 'FromScratch' servings & place correctly
  761.                 - skip lines with just '.' on them
  762.                 - mixed case credit line set from header info
  763.                 - print counts of recipes & lines at end of output file
  764.                   as well as on the screen (MM will ignore this)
  765.  
  766.      ver 1.3
  767.                 - fix dash handling, e.g., 4-6 pounds not split right
  768.                 - fix 2 6-1/4 oz cans handling
  769.                 - mix case categories
  770.                 - make sure space after servings in all cases
  771.                 - skip extra blank or '.' lines in directions- always
  772.                   keep at least one of the spaces between sections
  773.                 - in real MM recipe, don't stop on stars as CCHEF marker
  774.                 - make sure --MM marker aligns with margin:  H Peagram
  775.                   MM header includes a --MM sequence
  776.                 - handle Title:Spinach Tofu Lasagne - provide space
  777.                 - added PINT to PT, DASH to DS, fluid oz to FL & several
  778.                   additional variant spellings on existing
  779.                 - fix From Scratch to actually work with real recipe;
  780.                   used bad example to develop handling
  781.                 - take out leading blanks in DIRECTIONS: consistency &
  782.                   avoids being interpreted as ingredient.
  783.                 - set own default category - handy on ZIP files -D or -d
  784.                 - look for YIELD for servings
  785.                 - option to save what not seen as recipe -S or -s
  786.                 - fix to skip DIRECTIONS ----- and INGREDIENTS --- lines
  787.                   regardless of length
  788.                 - also INSTRUCTIONS & PROCEDURE lines
  789.                 - generic header: look for NAME: & DATE: -x -X
  790.                 - pick up KEY WORDS as category:  (Alvin Broughton)
  791.                 - must have at least one direction line, otherwise ---
  792.                   treated as normal rather than end of recipe
  793.                 - end marker of at least 3 hyphens need not be aligned
  794.                   with margin - but only hyphens and blanks allowed on
  795.                   the line
  796.                 - zap categories:
  797.                        ",MINE",
  798.                        " BEST",
  799.                        ",BEST",
  800.                        ",MOM'S",
  801.                        " MOM'S",
  802.                        ",ECHO",
  803.                        " ECHO",
  804.                        "CYBEREALM",             Sorry, Linda Fields!
  805.                        "MY FAVORITE",
  806.                        "FAVORITE",
  807.                        ",MY",
  808.                        " MY",
  809.                        "*,"
  810.  
  811.      ver 1.4
  812.  
  813.     This version owes a debt to Fran McGee on FIDO.  She made a comment
  814. about the amount of work that got me thinking.  I think you will find
  815. MMCONV version 14 to be much more user friendly than preceding versions as
  816. a result.
  817.  
  818.  
  819.                 - Eliminate character count as guide to ingredient line;
  820.                   instead use first blank line as demarcation.
  821.                 - Skip Pileggi headings:
  822.                        Qty    Measurement       Ingredient
  823.                        ___----  --------
  824.                 - Recognize Pileggi ____ as end of recipe
  825.                 - combine clove or cloves with following word correctly
  826.  
  827.  
  828.      A point by point discussion of these items:
  829.  
  830.                 - Eliminate character count as guide to ingredient line;
  831.                   instead use first blank line as demarcation.
  832.  
  833.     You no longer have to divide up long ingredient lines.  MMCONV will
  834. format them for you.  If there are blank lines within ingredients, they
  835. should be removed.  If there is no blank between ingredients and
  836. directions, add one.
  837.  
  838.     You must have some sort of ingredients.  If there are none in the
  839. recipe, just stick in none with a blank line following before the
  840. directions and you're set.
  841.  
  842.  
  843.  
  844.                 - Skip Pileggi headings:
  845.                        Qty    Measurement       Ingredient
  846.                        ___----  --------
  847.  
  848.     Pileggi puts a lot of recipes out with these two odd headings.  MMCONV
  849. will now skip them and process ingredients.
  850.  
  851.                 - Recognize Pileggi ____ as end of recipe
  852.  
  853.     Pileggi uses ___ rather than --- at end of his recipes.  Difficult to
  854. spot as not a match.  So changed MMCONV to respond to it.
  855.  
  856.                 - combine clove or cloves with following word correctly
  857.  
  858.     I got tired of clove(s) followed by several spaces splitting the
  859. line.  Or having to take out the spaces.  I don't want to use CL for
  860. cloves since MM regards as centiliters.  So I added processing to close up
  861. the spacing for cloves.  That is:
  862.  
  863. 3 cloves    garlic     processes to 3     cloves garlic appropriately
  864. spaced.  Formerly thought garlic was a second column!
  865.  
  866.  
  867.      ver 1.5
  868.  
  869.                 - CLRSCR at start of processing
  870.                 - print counts of various types of recipes (generic
  871.                   are the --MM marked ones)
  872.                 - look for MAKE before SERV to handle "makes 8 servings"
  873.                 - put serving problem on one line rather than 2
  874.                 - provide a full screen input format
  875.                 - continue support of shorthand version as well
  876.                 - add file display if * in filename entered
  877.                 - handle head(s),stalk(s),pieces(s),bag(s),ear(s),
  878.                   glass(es), inch(es), box(es), of, env, bunch(es),
  879.                   like cloves in 1.40
  880.                 - if hit and skip "DIRECTION" line, switch from ingredient
  881.                   processing
  882.                 - skip duplicate KEYWORD or CATEGOR (VILLARREAL)
  883.                 - zap category OSG1966 & some others
  884.                 - CTN for carton, LAR for large and various others added
  885.                 - fix so recognizes SERV or MAKE or YIELD with '(' before
  886.                   it
  887.                 - print name of file processed in the output file & on
  888.                   screen
  889.  
  890.  
  891.      ver 1.6
  892.                 - eliminate default footer of Converted by MMCONV, etc.
  893.                   leave blank if not provided or available from msg
  894.                 - change to MMMMM as bottom marker
  895.                 - skip TITLE: if appears after in recipe (some QBOOK have)
  896.                 - re-enable ? from startup & show how to run
  897.                 - put registration info as option (thanks, Sylvia) as
  898.                   people indicate can't find in docs
  899.                 - add space before numeric for Sylvia Steiger & GENIE
  900.                 - zap categories not set- fixed to be set and display
  901.                 - modified message at bottom about starting program
  902.  
  903.  
  904.          Categories that ZAP CATEGORIES removes:
  905.  
  906.     "RGG3","OURS","MINE","TRY IT",
  907.     "UUCP","RACENET","ROBERTS","GENIE","PRODIGY","HOT DOG","PERSONAL",
  908.     "FCB", ",MINE", " BEST", ",BEST", ",MOM'S", " MOM'S", ",ECHO", " ECHO",
  909.     "CYBEREALM", "MY FAVORITE", "FAVORITE", "OSG1966", ",MY", " MY", "*,"
  910.  
  911.          'Non-measure' measures that MMCONV closes the space after rather
  912. than treating following ingredient as a second column:
  913.  
  914.       "WHOLE","STK","ENVELOPE","ENV",
  915.       "ENV","BUNCH","BUNCHES","SQUARES","SQ","SQUARE","JUMBO","XLG","X-LG",
  916.       "BOX", "BOXES", "INCH", "INCHES", "GLASS",
  917.       "GLASSES", "CLOVES", "CLOVE", "CLOV", "CLV", "HEADS",
  918.       "HEAD", "BAG", "BAGS", "STICK", "STICKS", "PIECES",
  919.       "PIECE", "STALK", "STALKS","STKS","STA","EAR",
  920.       "EARS","STRIPS","STRIP","RIBS","DASH"
  921.  
  922.  
  923.       ver 1.7   - make version a global variable for my sanity
  924.                 - 12/4 noticed menu has one extra line after sent 1.6 out
  925.                 - start ingredient list in col 12  - Randy Shearer
  926.                 - split line at 39 rather than 38  - Randy Shearer
  927.                 - handle numeric differently so 9" pie crust handled
  928.                 - messing up 'of' handling- modified to remove 'of' as
  929.                   first word of ingredient line    - Randy Shearer
  930.                 - store BlueWave date correctly- Dale Shipp
  931.                 - store the parameters entered for next run- clear
  932.                   registration.  Store default cat; titles; generic; & zap
  933.                 - fix so setting 'generic head' correctly when run from
  934.                   menu
  935.                 - add 'CU' for cup  - Sylvia Steiger
  936.                 - skip FROM:, COOKING TIME:, PREP:, COOK:, DESCRIPTION :
  937.                   MARINATE:
  938.                   before ingredients          (asst'd; Mike Bowers)
  939.                 - handle RECIPE NAME :  in title    (Mike Bowers)
  940.                 - swap servings & categories for Recipe Box (Bowers)
  941.                 - recognize CATEGORY :   (Bowers)
  942.                 - accept H for quantity for HEADER
  943.  
  944.       ver 1.8   - process footer from file, indicated by FILE= on footer
  945.                 - add JAR to scrunch stuff
  946.                 - add to skips before recipe:
  947.                         o  SHARED BY
  948.                 - save the skipped stuff and tack it on the bottom
  949.                 - do a general check for ':' at top & save as above-
  950.                   basically anything but serving/category at top that is
  951.                   followed by a colon gets put at bottom of recipe
  952.                 - missing recipes with MMMMM or ----- not aligned
  953.                   with margin: fixed to skip lead blanks so catch these
  954.                 - convert '\' to '/' in ingredients   Dan Pinkerton
  955.                 - move zap categories to a file: MMCONV.ZAP for user
  956.                   control      Sylvia Steiger
  957.                 - measure w/o unit     Sylvia
  958.                 - drop dash on lines w/o measure or unit  Sylvia
  959.                 - lowercase h on heading  Sylvia
  960.                 - comma in input units of measure  Sylvia
  961.                 - compress category line- remove extra blanks Sylvia (though
  962.                   she denies this request)
  963.                 - add MicroCook format  "####@ ASCII" marks top and just
  964.                   "####@" marks the bottom bottom
  965.                 - BBS and conference or area added to recipe if available
  966.                 - write screen output to a file: SCRNmmdd.n   Dale Shipp
  967.                 - refine 'direction' check- Sylvia had ingredient line
  968.                   with directions in it & switched to direction processing
  969.                 - added SPRIG(S) to special list - Karen Mintzias
  970.                 - add CU for cup  - Sylvia
  971.                 - drop a as measure - Sylvia
  972.                 - fix MM indentation in directions  - Larry Christley
  973.                     :  processed by MM8+ according to Scott so added
  974.                     if more than 4 leading blanks on line
  975.                 -  1/2 of melon becomes 1/2  x melon
  976.                 -  fix so gm accepted for gram (g) - Sylvia
  977.                 -  enable control of saving screen stuff to file
  978.                 -  enable control of writing skipped lines
  979.                 -  add RIB, RIBS (as in celery) to special handling as
  980.                    a unit of measure
  981.                 -  fixed CAT: Prodigy messing up format (Sue) - part of
  982.                    category removal logic
  983.                 -  if no CATEGORIES left, put in default
  984.                 -  if convert abbrev for teaspoon or tablespoon use ts and
  985.                    TB for clarity
  986.                 -  detect 1st Reader Headers - Larry Christley
  987.                 -  dropping 'h' on honey when only word on line fixed -
  988.                    Sylvia Steiger
  989.                 -  set default category from screen on this run rather
  990.                    waiting till next   1/20/95
  991.                 -  no more than one blank line between paragraphs- Sylvia
  992.                 -  align numeric to right in space to handle Genie
  993.                 -  add Master Cook format
  994.                 -  drop "Unexpected end of recipe".  More likely to
  995.                    be OK than not in my experience.
  996.                 -  totally clear old file name when recipe file invalid
  997.  
  998.       ver 1.9   - fix generic reader processing to work
  999.                         expects DATE: and FROM: at a minimum
  1000.                         also looks for BBS: and either AREA: or CONF:
  1001.                 - sped up by skipping very short lines (3 characters or
  1002.                   less) since can't be header or recipe start when they
  1003.                   occur between recipes
  1004.                 - allow file MMCONV.HDR which contains four lines which
  1005.                   serve to mark the following items in the header:
  1006.                         o  from         (normal is FROM:)
  1007.                         o  date         (normal is DATE:)
  1008.                         o  conf/area    (normal is AREA: or CONF:)
  1009.                         o  bbs name     (normal is BBS:)
  1010.  
  1011.                   This is only in effect if generic header is selected.
  1012.                   If the file is not in the directory, MMCONV will look
  1013.                   for the items indicated in parentheses.
  1014.  
  1015.                   It would aid processing if a colon followed the
  1016.                   indicator - though this only works if it is
  1017.                   actually there, of course.  MMCONV translates items to
  1018.                   uppercase for comparison with the input line which it
  1019.                   also translates to uppercase.  There is some safeguard
  1020.                   from random text since MMCONV expects date and from
  1021.                   items to be within 6 lines of each other.  If not, it
  1022.                   continues from line after the line where it first
  1023.                   detected one or the other.
  1024.  
  1025.                   In fact, any header data could be picked up using this.
  1026.                   However, if what is set for from & date aren't detected,
  1027.                   MMCONV will not recognize a header.  Also any values not
  1028.                   filled in with something default.  Nonsense for the last
  1029.                   two will suppress them entirely since will never be found.
  1030.  
  1031.                 - fixed a possible bug that would probably skip some
  1032.                   non-MM recipes right after the header
  1033.                 - adjust 'date' processing to allow for usage as another
  1034.                   field.  Tends to add the time to the date in SLMR and
  1035.                   NFX since looks for end of line or double blank to
  1036.                   determine end.
  1037.  
  1038.         ver 2.0  -  remove tabs and formfeeds - Dale Shipp
  1039.                  -  modify to remove header/footer for formatted
  1040.                     recipes to simplify re-running XTRA file & mark
  1041.                     -----> Extracted...  Recipe Name   Dale Shipp
  1042.                  -  include extra MasterCook categories
  1043.                  -  option for one or two credit lines- Iris Grayson
  1044.  
  1045.  
  1046.         ver 2.1  -  fix zap categories to check not in middle of word;
  1047.                     still accept singular for plural - Anne McReary
  1048.                  -  zap category file not being capitalized.  Added
  1049.                     logic to do this so matches are caseblind.
  1050.                  -  default category gets first letter capitalized,
  1051.                     rest of letters lowercase.
  1052.                  -  don't force caps on input file and default category
  1053.                  -  add Key Home Gourmet heading to processing
  1054.                  -  add roll & rolls to special measures
  1055.                  -  fixed bombing of MasterCook with no category info
  1056.                  -  check for blanks before header in MM recipes & remove
  1057.                  -  fix loss of decimal in ingredient section - Mary Wallace
  1058.                  -  make default serving 4 - seems fairly realistic for
  1059.                     most recipes - better than 1, at least
  1060.                  -  allow colon after header line - don't move to bottom-
  1061.                     Mary Wallace
  1062.                  -  fix so continuation dashes and comment dashes don't
  1063.                     force text to column 2.     Mary Wallace
  1064.                  -   add plurals for deciliter, milliliter, centiliter,
  1065.                      milligram, etc.     Mary Wallace
  1066.                  -   add cupful and cupfuls for cup - Ian Hoare
  1067.  
  1068.  
  1069.                    PUNCT.exe has been updated to provide formatting of long
  1070.                    lines of text.  Some recipes I received appeared to have
  1071.                    the directions section with no carriage returns.  This
  1072.                    program will now format these to 78 character lines.
  1073.  
  1074.  
  1075.  
  1076.