Commit Graph

16 Commits

Author SHA1 Message Date
Andy McFadden 5e9d8f0102 Fix crash in IsSCAssem
The test for "is this an S-C Assembler source file" tried to
dereference a null pointer when asked to examine a file with a
zero-length data fork.  The test only fires for files with type=INT
and auxType=0, so this is pretty hard to hit.  The specific failing
case had a damaged file with the appropriate file type.

Issue #42
2020-08-03 13:47:42 -07:00
Andy McFadden 2adbe9591f Add optional MouseText-to-ASCII conversion
The AWP5 MouseText output is okay for some things but not others.
This adds an ASCII conversion, enabled through a preference.
2017-11-13 14:24:58 -08:00
Andy McFadden 35a897b248 Add support for AW5 inverse and MouseText
AppleWorks 5 added inverse text and MouseText.  We can handle inverse
text with RTF features, and convert MouseText to something vaguely
similar in the Unicode symbol set.
2017-11-11 14:53:28 -08:00
Andy McFadden c7869c38a5 Initialize fUseRTF to "true"
The field wasn't being initialized, so if you did things in a
certain way (open a .SDK as a ShrinkIt archive, double-click on
the disk image, then view an AppleWorks AWP document), the flag
might be initialized to "false" and you'd lose the formatting.
2016-01-11 10:53:32 -08:00
Andy McFadden bb24f51ccb Fix subvol charset handling
We weren't doing a MOR-to-UNI conversion on the sub-volume name, so
HFS volumes with non-ASCII characters didn't look right.

This also relocates the character-conversion code to a new source
file.  It's currently part of the reformat lib, though it arguably
belongs in util (but that would introduce a new dependency
between reformat and util).
2015-01-15 10:34:45 -08:00
Andy McFadden f6601161fe Add outline and shadow to IIgs doc conversion
RTF includes outline and shadow styles, but for some reason
CiderPress wasn't generating them.  They don't appear in the Rich
Text Edit file viewer, but if you extract the file and open it with
Microsoft Word you can see the text in all its glory.
2015-01-14 12:22:50 -08:00
Andy McFadden 00e6b3ab5e Improve filename handling when reading from archives
This updates GenericEntry's filename handling to be more careful
about Mac OS Roman vs. Unicode.  Most of the work is still done with
a CP-1252 conversion instead of MOR, but we now do a proper
conversion on the "display name", so we see the right thing in the
content list and file viewer.

Copy & paste, disk-to-file-archive, and file-archive-to-disk
conversions should work (correctly) as before.  Extracted files will
still have "_" or "%AA" instead of a Unicode TRADE MARK SIGN, but
that's fine for now -- we can extract and re-add the files losslessly.

The filenames are now stored in CStrings rather than WCHAR*.

Also, fixed a bad initializer in the file-archive-to-disk conversion
dialog.
2015-01-08 17:57:20 -08:00
Andy McFadden e7512f5f07 Tweak AWGS/Teach output
Officially the \u value is signed 16-bit decimal, but we were treating
it as unsigned.  The Windows parsers handled it anyway, but it's best
to do what the spec says.
2014-12-18 18:35:30 -08:00
Andy McFadden 4dd0c9339d Quick stab at Unicode for AWGS/Teach
This tweaks the output for AWGS and Teach Text to convert from Mac
OS Roman to Unicode, rather than Windows code page 1252.

It would be slightly more efficient (and possibly a bit more legible
in the RTF file) if we left the "good" conversions alone, e.g.
continue to use the CP1252 character for "E with acute", instead of
converting to U+00C9.  That might leave us at the mercy of the code
page converter in some random RTF reader, though, so it's probably
best to just use the official Unicode values.
2014-12-18 17:33:09 -08:00
Andy McFadden 66660a1fe4 Add DECLARE_COPY_AND_OPEQ to util classes
Make operator= and the copy constructor private in all of the classes
in the utility library and the base classes in reformat.
2014-12-04 11:18:12 -08:00
Andy McFadden 8f61f84585 Use types with explicit sizes
Much of what the "reformat" code does involves processing data that is
8, 16, or 32 bits.  We want to use size-specific types from stdint.h
(e.g. uint16_t) rather than "unsigned short".

This was a quick pass to replace the various "unsigned" declarations.
More can be done here and elsewhere.
2014-11-20 18:10:18 -08:00
Andy McFadden 51b5f00f5c Large set of changes to restore CiderPress build.
CiderPress and MDC now compile, and execute far enough to open
their respective "about" boxes, but I doubt they'll do much
more than that.

* Switch from MBCS to UNICODE APIs

Microsoft switched to UTF-16 (by way of UCS-2) a long time ago,
and the support for MBCS seems to be getting phased out.  So it's
time to switch to wide strings.

This is a bit awkward for CiderPress because it works with disk
and file archives with 8-bit filenames, and I want NufxLib and
DiskImgLib to continue to work on Linux (which has largely taken
the UTF-8 approach to Unicode).  The libraries will continue to
work with 8-bit filenames, with CiderPress/MDC doing the
conversion at the appropriate point.

There were a couple of places where strings from a structure
handed back by one of the libraries were used directly in the UI,
or vice-versa, which is a problem because we have nowhere to
store the result of the conversion.  These currently have fixed
place-holder "xyzzy" strings.

All UI strings are now wide.

Various format strings now use "%ls" and "%hs" to explicitly
specify wide and narrow.  This doesn't play well with gcc, so
only the Windows-specific parts use those.

* Various updates to vcxproj files

The project-file conversion had some cruft that is now largely
gone.  The build now has a common output directory for the EXEs
and libraries, avoiding the old post-build copy steps.

* Added zlib 1.2.8 and nufxlib 2.2.2 source snapshots

The old "prebuilts" directory is now gone.  The libraries are now
built as part of building the apps.

I added a minimal set of files for zlib, and a full set for nufxlib.
The Linux-specific nufxlib goodies are included for the benefit of
the Linux utilities, which are currently broken (don't build).

* Replace symbols used for include guards

Symbols with a leading "__" are reserved.
2014-11-16 21:01:53 -08:00
Andy McFadden 63b9996009 Normalize indentation and EOL
This updates all source files to use spaces instead of tabs for
indentation.  It also normalizes the end-of-line markers to be
Windows-style CRLF, and ensures that all files end with EOL.

No substantive changes were made; "diff -w" is empty.
2014-11-03 16:26:53 -08:00
David Schmidt 5637461d8a Add vestigal support for Gutenberg Word Processor formatting 2009-01-05 02:11:31 +00:00
David Schmidt a4524898f9 Add Apple /// Business BASIC file support 2008-12-16 03:35:37 +00:00
Andy McFadden 0d7d1b67e0 initial import 2007-03-27 17:47:10 +00:00