================================================================================
// Notch is a general purpose antique number conversion utility.
// It is currently in early beta, with a single Roman Numerals mode.
//
// Author: Shea Nicholas
// Copyright (c) 1995-2023 Shea Nicholas. Ghost Writer Enterprises Limited.
// Email: nicholas-shea@talktalk.net
================================================================================
* Fri Apr 04 17:10 GMT 2025
0-1-2-8b (x64) Codename: Augustus dev snapshot
• First Sourceforge upload.
--------------------------------------------------------------------------------
* Wed Jan 18 08:55:18 GMT 2023
0-0-2-7b (x64) Codename: Augustus dev snapshot
ROMAN MODULE
• Added an auto-generated duodecimal fractions table.
--------------------------------------------------------------------------------
* Sat Apr 03 09:30 GMT 2021
0-0-2-4a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Log
• Added option to log fraction computations. (This was a debug option but
is useful in release mode, just to verify the results).
• Added accelerator keys.
• Added Print option.
• Simplified UI and moved Log to left of main window.
• IMPORTANT: The log is saved as UTF8 and requires a text program that can
read UTF8 files. The UTF8 character set in Notch is designed to work with
the Times New Roman font, so when opening the log in a program other than
Notch, please set the font correctly.
• Fixed possible segmentation fault that might have occured when entering
the single Apostrophus number IↃↃ.
• Made the window resizable so that the Log enlarges without distorting the
controls.
--------------------------------------------------------------------------------
* Thu Apr 01 11:11 GMT 2021
0-0-2-3a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Added Log to main window
--------------------------------------------------------------------------------
* Wed Mar 31 9:55 GMT 2021
0-0-2-2a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Apostrophus Mode
• Fixed bug in Notation switch where the 1000 pop-up only worked for the
number 1000 and not 2000, 3000, 6000, etc. This also fixes a translation
error from Apostrophus to Arabic when the notation switch was not set to
the default choice CIↃ.
--------------------------------------------------------------------------------
* Mon Mar 29 18:58 GMT 2021
0-0-2-1a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Apostrophus Mode
• Implemented parser that translates to and from Arabic.
To enter a numeral in Apostrophus, use the yellow buttons. Numbers above
100,000 (<em>Centena Milia</em>) must be entered manually by using the
C, I and Ↄ buttons. For each 10<sup>n</sup> you must enter a balanced set
of C and Ↄ. (Please read the documentaion for details).
When an Apostrophus numeral is entered manually using using C, I and Ↄ,
POP works on individual characters instead of chunks. However, you must
use the ‘Word Separator’ (green button) to break the numeral
into <em>visible chunks</em>. This lets the parser correctly determine
any subractive notations. For example, CIↃ which is one thousand, must be
distinguished from C⸱IↃ, which is 400 (500 - 100). Note that when
you click the UP arrow and translate to Arabic, the character string is
converted into chunks; thenceforth POP will remove the chunks, and not
individual characters.
Parsing Apostrophus strings is not straight forward, especially if the
user has entered an illegal notation. Therefore, ALWAYS VERIFY
THE ROMAN INPUT BY CONVERTING THE DECIMAL RESULT BACK TO ROMAN.
All Modes
• Implemented duodecimal fractions. The bullet separator has been replaced
with a smaller ‘word separator’ to distinguish it from the
<em>uncia</em> symbol.
--------------------------------------------------------------------------------
* Sun Mar 21 20:20 GMT 2021
0-0-1-9a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Vinculum Mode
• Added "CI̅" option to the 900 Subtractive Notation pop-up. When in Date
mode, the "CI̅" option is disabled and the switch defaults to "CM". When
in Vinculum mode, the "CI̅" option activates again, and the switch
defaults back to "CI̅". This feature replaces the 'M' switch which was
removed in 0-0-1-8a.
• Fixed Date Mode bug introduced in last version where a date greater than
3999 was computed without warning.
--------------------------------------------------------------------------------
* Sun Mar 21 18:00 GMT 2021
0-0-1-8a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Removed calls to Microsoft's printf functions which do not support large
numbers as in the C99 spec. This prevents garbled output with exceedingly
big integers.
The maximum integer you can now translate to Roman is now 9,999,999,999
(nine billion, nine hundred and ninety-nine million, nine hundred and
ninety-nine thousand, nine hundred and ninety-nine). A vast improvement.
Vinculum Mode
• Removed 'M' option.
• More side bar notation options.
• Notation switches now use pop-up menus.
• Bullet separators for side bar groups.
• Improved interface.
--------------------------------------------------------------------------------
* Fri Mar 19 15:47 GMT 2021
0-0-1-6a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Vinculum Mode
• Additional Sidebar notation option to express millions as multiples of
thousands.
--------------------------------------------------------------------------------
* Fri Mar 19 11:00 GMT 2021
0-0-1-4a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Improved Mode logic and variant switching.
Vinculum Mode
• Added sidebar multiplier notation. The multiplier option is currently
fixed at 100.
• Added Medieval 'M' option.
--------------------------------------------------------------------------------
* Wed Mar 17 11:00 GMT 2021
0-0-1-3a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Implemented Standard Date Mode. Cleaned up Mode UI and added error handlers.
--------------------------------------------------------------------------------
* Mon Mar 15 08:10 GMT 2021
0-0-1-1a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
Changed conversion functions to use 'unsigned int' type instead of 'int'.
--------------------------------------------------------------------------------
* Sun Mar 14 16:00 GMT 2021
0-0-1-0a (x64) Codename: Augustus dev snapshot
ROMAN MODULE
First release, ported from an old HyperCard stack that I created in 1996.
--------------------------------------------------------------------------------