MacTech Network:   MacForge.net  |  Computer Memory  |  Register Domains  |  Printer Supplies  |  Cables  |  iPod Deals  |  Mac Deals  |  Mac Book Shelf


  MacTech Magazine

The journal of Macintosh technology

 
 
Power Save Mac

Magazine In Print
  About MacTech  
  Home Page  
  Subscribe  
  Archives DVD  
  Submit News  
  Submit a Tip!  
  Get a copy of MacTech RISK FREE  
Google
Entire Web
mactech.com
Mac Community
More...
MacTech Central
  by Category  
  by Company  
  by Product  
MacTech News
  MacTech News  
  Previous News  
  MacTech RSS  
Article Archives
  Show Indices  
  by Volume  
  by Author  
  Source Code FTP  
Inside MacTech
  Writer's Kit  
  Editorial Staff  
  Editorial Calendar  
  Back Issues  
  Advertising  
Contact Us
  Customer Service  
  MacTech Store  
  Legal/Disclaimers  
  Webmaster Feedback  

MACINTOSH Q&A

MACINTOSH DEVELOPER TECHNICAL SUPPORT

Q I'm drawing into a large offscreen bitmap (PixMap), but anything drawn outside the 640 by 480 pixel screen area doesn't get written to the PixMap. Why not?

A When you create a new port with OpenPort or OpenCPort the visRgn is initialized to the rectangular region defined by screenBits.bounds (IM I:163). If your port has a large portRect, any drawing will be clipped to the visRgn and you will lose any drawing outside of the screenBits.bounds rectangle.

To correct this set the visRgn of the port to coincide with your port's portRect after creating the port.

Also note that OpenPort initializes the clipRgn to a wide-open rectangular region (-32768, -32768, 32767, 32767). Some operations (i.e.OpenPicture) can fail with this setup, so you should try setting clipRgn to a smaller rectangle.clipRgn to a wide-open rectangular region (-32768, -32768, 32767, 32767). Some operations (i.e.OpenPicture) can fail with this setup, so you should try setting clipRgn to a smaller rectangle.

Q What is Printing Manager error -8133?

A Printing Manager error -8133 occurs when the PostScript interpreter of the LaserWriter (or any other PostScript printer) generates a PostScript error.

A description of the PostScript command that caused the error will be displayed in the status window. This error often occurs when an application is sending PostScript directly to the printer, and that PostScript contains an error. To debug this kind a problem, you should look at the PostScript generated by the driver. To do this, hold down the Command-F key right after clicking okay in the Print dialog. A file named PostScript0 will be created in the current directory.

Q I'm confused about the changes to FPRead in AFP version 2.0. How do I use the NewLine mask?

A The difference between AFP 1.1 and AFP 2.0 as far as the NewLine Mask is concerned is that, in AFP 1.1 the only legal values of Newline Mask are $00 and $FF, whereas in AFP 2.0, all values of Newline Mask are allowed. The Newline Mask is logically ANDed with a copy of each byte read. If the result matches the Newline char, the read terminates. The Newline character is returned as the last byte of data that was read from the fork.

Q How do I implement file range locking?

A HFS doesn't provide for file-range locking. AppleShare has additional structures to implement locking, but there is no way for you to implement locking with HFS. We are working on this limitation.

Q Why does enabling fractional font widths with FractEnable(TRUE) disable Font Substitution?

A When you call FractEnable(TRUE), you are telling the Printing Manager that you always want to use the fractional width information in the FOND resource of a font. This fractional information is specified for a 1 point font, and can be scaled for any desired size. When you tell the Printing Manager to use this width information, the normal font width information (stored in the ROM of the LaserWriter) is ignored. Font Substitution provides the ability to substitute high quality PostScript fonts for fonts that have no PostScript equivalent. For example, a document laid out in Geneva will be printed with Helvetica if Font Substitution is enabled. When this substitution occurs, the Printing Manager makes adjustments to the intercharacter spacing of the line to make the printed Helvetica version match the width of the Geneva version displayed on the screen. When you enable fractional font widths for a document that uses Geneva, the Printing Manager is being told to print Helvetica characters on the printer using fractional widths from the Geneva screen font. If the Printing Manager placed the Helvetica characters using the fractional widths, formatting problems could occur. For example, some of the Helvetica characters may be wider than their Geneva equivalents, causing character collisions. To avoid this problem, the LaserWriter driver disables the Font Substitution option when fractional fonts ar enabled. This way, WYSIWYG is maintained. If you want to use fractional fonts, then you should format your document using fonts that have PostScript versions available on the LaserWriter.

Q Inside Mac says that there is a 3K limit on CopyBits. Is this still true?

A The CopyBits limit is obsolete; there is no longer a 3K limit. The limit depends on the amount of RAM in your system. CopyBits tries to use the stack to do all of the copying. In most cases CopyBits is able to copy entire screen shots at one time. You might run into problems if you don't have enough stack to hold two times the rowBytes of your source, but even in this case CopyBits will attempt to find the memory it needs.

Q How do I order an MCP card and software? What do I get when I order it?

A You can order the Macintosh Coprocessor Platform (MCP) card and software through Apple Software Licensing. The card comes with the MCP platform and software which contains the appropriate libraries and header files. On the card is the 68000, ROM (256K), RAM (512K), and the NuBus Logic to drive the card in both master and slave modes. There is also blank space on the board, left there for your communications hardware. Basic documentation is also included.

Q Can I get a list of all board IDs?

A No-that information is confidential. MacDTS registers board ID and functional sResource equates so developers don't use equates that are already in use, but they can't distribute the list because the database contains information on unreleased products.

However, even if the list could be distributed, any program that depended on the information in it would be obsolete as soon as a new board came out.

It is recommended you use the Slot Manager's ability to find certain cards or functions. That way, you only need to write your code once, and it will work with newer boards. That's why QuickDraw can find video cards years after it was frozen in ROM. It does so by calling the Slot Manager and looking for boards that perform the QuickDraw compatible video function.

Q How do you catch a penguin?

A Before we answer that question, perhaps a little biology is in order. Penguins, by necessity, must be both water and air tight, or they would freeze their little bergies off in the Antarctic seas. Well, that's a problem if you happen to be warm blooded, because there's really no way to sweat (since penguins don't have hands, they were never able to invent Gor-tex®). To handle this problem, they have capillaries in their feet that swell when warm and act as a radiator.

So, to catch a penguin, all you have to do is chase it across the ice. The running will heat the penguin, which in turn, will heat the penguin's feet. Once the penguin gets hot enough, he will stick to the ice (what scientists call "the tongue to the sled effect"). All you have to do then is walk over and pick them up.

PLEASE NOTE: When picking a penguin up we can't overemphasize how critical it is to use slightly warm water to thaw the feet first. Penguin podiatrists are expensive, and very hard to find.

Q I'd like to write James Brown in jail. Where do I write to?

A You can write the Godfather of Soul at:
James Brown, prisoner ID #155413
Broad Rivers Correctional Institute
4460 Broad Rivers Road
Columbia, SC 29210

Brown is serving concurrent six year and six year & 3 month terms for a wild, two-state car chase which happened September 24, 1988. He won't be eligible for parole until 1992.



Click here to find out more about our best subscription bundle deal ever!
2 years of the magazine, and the all new MacTech DVD ... at 70% off!



Click on the cover to
see this month's issue!

TRIAL SUBSCRIPTION
Get a RISK-FREE subscription to the only technical Mac magazine!
 
 


MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797

Register Low Cost (ok dirt cheap!) Domain Names in the MacTech Domain Store. As low as $1.99!
Save on brand compatible and name brank ink jet and laser supplies.
Save on long distance * Upgrade your Computer
Movies with No Late Fees!

See local info about Westlake Village
SJ * BRJ * BJ * OJ * NITS
Staff Site Links



All contents are Copyright 1984-2007 by Xplain Corporation. All rights reserved.

MacTech is a registered trademark of Xplain Corporation. Xplain, Video Depot, Movie Depot, Palm OS Depot, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, NetProLive, JavaTech, WebTech, BeTech, LinuxTech, Apple Expo, MacTech Central and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.