TweetFollow Us on Twitter

LaserWriter PAPA Resource

Volume Number: 13 (1997)
Issue Number: 12
Column Tag: develop

LaserWriter 8.5.1: The Extended 'PAPA' Resource

by Richard Blanchard, RBI Software Systems Inc., Ingrid Kelly, Apple Computer Inc. and Chorng-Shyan Lin, RBI Software Systems Inc.


Starting with LaserWriter 8.5.1, in order to support different types of desktop printers, the 'PAPA' -8192 resource has been extended from 103 to 1024 bytes long. This TechNote discusses the additional bytes and in what way the LaserWriter 8.5.1 driver uses them.

Note: If your code relies on the size of the 'PAPA' resource, it may crash with LaserWriter 8.5.1 unless you update it to support the extended 'PAPA' resource.

The 'PAPA' Resource

The new 'PAPA' looks just like an old style 'PAPA' at the front of the resource; that is, the 'PAPA' resource begins with three packed Pascal strings representing the printer name, the network type (usually LaserWriter), and the printer's zone. After these strings comes the 4-byte network address.

The new extended 'PAPA' then adds desktop printer (DTP) data beginning at the 104th byte in the resource. The data from bytes 104 to 1024 (1-based indices) is a series of tagged blocks where each block contains a 4-byte tag, followed by a 2-byte length value, and then the actual data. A series of these tagged blocks can reside in bytes 104 to 1024.

Tag Requirements

There are a few requirements for the tagged blocks that go into the extended 'PAPA.' They are:

  • The only required block in an extended 'PAPA' is the 'TAGS' tag which gives the number of valid tag blocks in the extended resource. The 'TAGS' block must be the first tag in the extended record and serves as a validity check.
  • When the extended portion of the 'PAPA' contains multiple tag blocks, each block is required to start on a word (16-bit) boundary. Thus, if a tag block has an odd length, there should be a byte of padding before the start of the next tag block.
  • In order to limit the number of clients that need to understand the extended 'PAPA' format, and to make it easier to change the format in the future, the SettingsLib provides routines for creating and accessing the extended 'PAPA.' Relying on the extended 'PAPA' format rather than using SettingsLib is a bad idea. For more information on SettingsLib, please see Apple's TechNote web site.

Tag Types

Tag: 'TAGS'

Value Size: sizeof(UInt16), 2 bytes

The value of the 'TAGS' block provides the number of valid tag blocks in the extended print record including itself. The 'TAGS' block must be the first tag in the extended print record; a valid extended print record must therefore begin with the byte sequence: 0x5441 0x4753 0x0002.

Tag: 'TYPE'

Value Size: sizeof(OSType), 4 bytes

This tag is optional as its contents are redundant given the PAPA zone name string. If this tag does exists, then its value must match, not literally but in meaning, the DTP type implied by the zone string. Here are the zone string mappings to 'TYPE' values:

Zone Name             'Type'        Definition
String              tag value

=Hld                  'Hold'      Creates and holds spool files. The 
                                  spool files are never processed and the	
                                  DTP is not connected to a real printer.
=Fil*                 '=Fil'      Creates PostScript or EPS files, is 
                                  not connected to a real printer.
=Cst*                 '=Cst'      Creates a PostScript file and then launches
                                  an application to post-process the file.
=LPR*                 '=LPR'      Sends a PostScript job using the    
                                  LPR protocol.
=Ird*                 '=Ird'      Sends a PostScript job over an irda,
                                  infrared, channel.
Valid Zone string      'PAP'      Uses the AppleTalk PAP protocol to print 
                                  the job.

In the preceding mapping, the '*' in the zone name string is a wildcard which can be replaced by zero or more characters of any value. The DTP Utility uses this part of the zone name string to differentiate between DTP printers of the same type with the same name located in different folders.

Beside the tag values 'Hold', '=Fil', '=Cst', '=LPR', '=Ird', and 'PAP ,' other tag values may be added in the future for new DTP types.

Tag: 'TCP '

Value Size: variable size string

If the DTP printer type requires a TCP/IP network address, it is placed in the extended PAPA using the 'TCP ' tag. The value of the tag block is the network address of the printer either as a fully qualified network address, such as, or in dot format, such as

This tag is required for DTP printers of type '=LPR.' The length of the string is determined from the block length.

Tag: 'Q'

Value Size: variable size string.

If a DTP can use a print queue name, as can LPR DTPs, then the print queue name is placed in a tag value block of type 'Q .' The length of the string is determined from the block length.

Summary of DTP type, zone names, and tags.

DTP Type           PAPA Zone String        Extended Data Tags
PAP                Actual Zone Name        'TYPE' is 'PAP '
Hold                  "     "    "         'TYPE' is 'Hold'
Save to File            =Fil*              'TYPE' is '=Fil'
Custom                  =Cst*              'TYPE' is '=Cst'
LPR	                    =LPR*              'TYPE'is'=LPR'
                                           'TCP'is printer's net address
                                           'Q'is optional and is the name of 
                                           the print spooler.
InfraRed                =Ird               'TYPE'is'=Ird'


This TechNote has documented the changes in the 'PAPA' resource in LaserWriter 8.5.1. Please beware if your application depends on the size of the 'PAPA' as it may no longer work with LaserWriter 8.5.1.

Further Reference


Thanks to Leticia Alarc'n, John Blanchard and Paul Danbold

Richard Blanchard has been programming LaserWriter 8 since its inception and one day hopes to finish it. Working at RBI Software Systems, Inc. Richard, from day to day, codes in C, C++, and Java and tries to draw a bead on the future of network printing.

Ingrid Kelly works in Apple’s Developer Technical Support group. She was sad to see the Blue Angels air show season end this year, but never fear, she is already counting down the days until the start of next year’s air show season. 99...98...97...

Chorng-Shyan Lin is a Macintosh developer at RBI Software Systems, Inc. He can be reached via email at


Community Search:
MacTech Search:

Software Updates via MacUpdate

OmniPlan 3.0 - Robust project management...
With OmniPlan, you can create logical, manageable project plans with Gantt charts, schedules, summaries, milestones, and critical paths. Break down the tasks needed to make your project a success,... Read more
Yummy FTP 1.11 - FTP/SFTP/FTPS client fo...
Yummy FTP is an FTP + SFTP + FTPS file transfer client which focuses on speed, reliability and productivity. Whether you need to transfer a few files or a few thousand, schedule automatic backups, or... Read more
Tweetbot 2.1 - Popular Twitter client. (...
Tweetbot is a full-featured OS X Twitter client with a lot of personality. Whether it's the meticulously-crafted interface, sounds and animation, or features like multiple timelines and column views... Read more
MacPilot 8.0 - Enable over 1,200 hidden...
MacPilot gives you the power of UNIX and the simplicity of Macintosh, which means a phenomenal amount of untapped power in your hands! Use MacPilot to unlock over 1,200 features, and access them all... Read more
Typinator 6.7 - Speedy and reliable text...
Typinator turbo-charges your typing productivity. Type a little. Typinator does the rest. We've all faced projects that require repetitive typing tasks. With Typinator, you can store commonly used... Read more
Adobe Lightroom 6.2 - Import, develop, a...
Adobe Lightroom is available as part of Adobe Creative Cloud for as little as $9.99/month bundled with Photoshop CC as part of the photography package. Lightroom 6 is also available for purchase as a... Read more
ForeverSave 2.1.4 - Universal auto-save...
ForeverSave auto-saves all documents you're working on while simultaneously doing backup versioning in the background. Lost data can be quickly restored at any time. Losing data, caused by... Read more
VueScan 9.5.27 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
AirPort Utility 6.3.6 - Set up and manag...
Note: Most recent release available only within OS X 10.11 El Capitan update. Use AirPort Utility to set up and manage your Wi-Fi network and AirPort base stations, including AirPort Express, AirPort... Read more
Quicksilver 1.3.1 - Application launcher...
Quicksilver is a light, fast and free Mac application that gives you the power to control your Mac with keystrokes alone. Quicksilver allows you to find what you need quickly and easily, then act... Read more

YAMGUN (Games)
YAMGUN 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: The invasion has begun! Protect the walls of the citadel against waves of enemies! But watch out, you will soon run out of ammo...... | Read more »
Royal Bounty HD (Games)
Royal Bounty HD 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: New World Computing Approved "Hi Guys! looks good so far! keep up the good work. I worked on HoMM 3 and 4 creating all of the... | Read more »
Swords & Crossbones: An Epic Pirate...
Swords & Crossbones: An Epic Pirate Story 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: | Read more »
Camel Up (Games)
Camel Up 1.0.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.0 (iTunes) Description: | Read more »
The Martian: Bring Him Home (Games)
The Martian: Bring Him Home 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Based on the best selling novel and critically acclaimed film, THE MARTIAN tells the story of Astronaut Mark... | Read more »
This Week at 148Apps: September 21-30, 2...
Leap Into Fall With 148Apps How do you know what apps are worth your time and money? Just look to the review team at 148Apps. We sort through the chaos and find the apps you're looking for. The ones we love become Editor’s Choice, standing out above... | Read more »
Tweetbot 4 for Twitter (Social Networki...
Tweetbot 4 for Twitter 4.0 Device: iOS Universal Category: Social Networking Price: $4.99, Version: 4.0 (iTunes) Description: *** 50% off for a limited time. *** | Read more »
Mori (Games)
Mori 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Stop, rewind and unwind with Mori. Time is always running, take a moment to take control. Mori is an action puzzle game about infinitely... | Read more »
100 Years' War (Games)
100 Years' War 1.0 Device: iOS Universal Category: Games Price: $3.99, Version: 1.0 (iTunes) Description: | Read more »
Tower in the Sky (Games)
Tower in the Sky 0.0.60 Device: iOS Universal Category: Games Price: $1.99, Version: 0.0.60 (iTunes) Description: | Read more »

Price Scanner via

13-inch 2.5GHz MacBook Pro on sale for $994,...
Best Buy has the 13″ 2.5GHz MacBook Pro available for $994.99 on their online store. Choose free shipping or free instant local store pickup (if available). Their price is $105 off MSRP. Price valid... Read more
Is The iPad Pro Really A Serious Laptop Repla...
Probably not, at least for productive professionals and other power users. Steve Jobs declared that we’d entered the “post-PC Era” with the advent of the original iPad in 2010, a phrase we don’t hear... Read more
Wednesday Deal: 13-inch Retina MacBook Pros f...
Adorama has 13″ Retina MacBook Pros on sale for up to $130 off MSRP. Shipping is free, and Adorama charges sales tax for NY & NJ residents only: - 13″ 2.7GHz/128GB Retina MacBook Pro: $1199.99 $... Read more
uBar 3.0 for Mac OS X – Custom Dock Replaceme...
Brawer Software has announced the release of uBar 3.0, an important update to their popular app and window manager for Mac OS X. uBar allows users to position it whichever side of the screen they... Read more
13-inch 2.5GHz MacBook Pro (refurbished) avai...
Apple has Certified Refurbished 13″ 2.5GHz MacBook Pros available for $829, or $270 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.5GHz MacBook Pros... Read more
27-inch 3.2GHz iMac on sale for $1689, save $...
Adorama has the 27″ 3.2GHz iMac on sale for $1689 including free shipping plus NY & NJ sales tax only. Their price is $110 off MSRP. Read more
12-inch Retina MacBooks on sale for up to $12...
B&H Photo has 12″ Retina MacBooks in stock today and on sale for up to $120 off MSRP. B&H will include free shipping, and there is NY sales tax only: - 12″ 1.1GHz Gray Retina MacBook: $1224 $... Read more
Tablets Shaping Up for Growth in 2016 – Strat...
Observing that Apple, Samsung, and Microsoft have refocused what tablet computers can do, market analysis firm Strategy Analytics believes there is immense opportunity for new and replacement sales... Read more
Apple Interbrand’s Number One Most Valuable G...
Apple and Google hold aced #1 and #2 spots respectively in Interbrand’s 2015 Best Global Brands Report, leading all tech brands that now comprise more than a third of the entire rankings value.... Read more
Apple offering refurbished 2015 13-inch Retin...
Apple is offering Certified Refurbished 2015 13″ Retina MacBook Pros for up to $270 (15%) off the cost of new models. An Apple one-year warranty is included with each model, and shipping is free: -... Read more

Jobs Board

*Apple* Retail - Multiple Customer Support P...
Job Description:Customer SupportSpecialist - Retail Customer Service and SalesTransform Apple Store visitors into loyal Apple customers. When customers enter the Read more
Software Engineer, *Apple* Watch - Apple (U...
…the team that is revolutionizing the watch! As a software engineer on the Apple Watch team, you will be responsible for building world-class applications and frameworks Read more
*Apple* Online Store UAT Lead - Apple (Unite...
**Job Summary** The Apple Online Store is a fast paced and ever evolving business environment. The User Acceptance Testing (UAT) lead in this organization is able to Read more
Hardware Systems Integration Engineer - *App...
**Job Summary** We are seeking an enthusiastic electrical engineer for the Apple Watch team. This is a design engineering position that entails working with Read more
Touch Validation Design (EE) - *Apple* Watc...
**Job Summary** Help launch next-generation Touch Technologies in Apple products. The Touch Technology team develops cutting-edge Touch solutions and technologies that Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.