Attaching text to an object.

How can I attach alternate text to an object? I want to do something like this:

A thing can be printed or not printed.  Things are usually not printed.

Understand the command "read" as something new.
Reading is an action applying to one visible thing.
Understand "read [something]" as reading.
A check reading rule:
	if the noun is not printed:
		say "There is nothing to read on [the noun]." instead.

The instruction manual is the awesome room. The description of the cryo-bed instruction manual is "The title reads [bold type]Care and Operation of your Centron AX3400-S Cryo-Stasis Bed (tm).[roman type] It appears to be about 600 pages long." 
The instruction manual is printed with "There is large bold print on the first page which says [bold type]Warning! If any incidental damage is sustained by the control panel on your Centron AX3400-S cryo-stasis bed, the warranty will be voided.[roman type] Aside from that, it's the most boring thing you've ever read."

So that this way I can simply give text to an object that has to be read by saying [the object] is printed with “my text.”

In this specific example, there doesn’t appear to be any reason for the first line.

This works for me:

Understand the command "read" as something new.
Reading is an action applying to one visible thing.
Understand "read [something]" as reading.

The awesome room is a room.

The instruction manual is in the awesome room. The description of the instruction manual is "The title reads [bold type]Care and Operation of your Centron AX3400-S Cryo-Stasis Bed (tm).[roman type] It appears to be about 600 pages long." 

Instead of reading the instruction manual: say "There is large bold print on the first page which says [bold type]Warning! If any incidental damage is sustained by the control panel on your Centron AX3400-S cryo-stasis bed, the warranty will be voided.[roman type] Aside from that, it's the most boring thing you've ever read."

I personally, in my Inform ignorance, don’t see a reason to make something printed or not if you’re just creating a “read” command for it. If something can’t be read, don’t make an “Instead” rule for it? I’m sure someone who actually knows what they’re talking about will have better advice.

Similar to I4L… but I left the printed so it can say “You can’t read the coffee pot” if it comes up…

[code]A thing can be printed or not printed. Things are usually not printed.

Understand the command “read” as something new.
Reading is an action applying to one visible thing.
Understand “read [something]” as reading.
A check reading rule:
if the noun is not printed:
say “There is nothing to read on [the noun].” instead.

The awesome room is a room.

The instruction manual is in the awesome room. The description of the instruction manual is “The title reads [bold type]Care and Operation of your Centron AX3400-S Cryo-Stasis Bed ™.[roman type] It appears to be about 600 pages long.”

The instruction manual is printed.

Instead of reading the instruction manual: say “There is large bold print on the first page which says [bold type]Warning! If any incidental damage is sustained by the control panel on your Centron AX3400-S cryo-stasis bed, the warranty will be voided.[roman type] Aside from that, its the most boring thing you’ve ever read.”[/code]

See? Like I said…

I think you could do something like this instead of defining “printed” as a property (totally untested):

A thing has a text called the inscription. The inscription of a thing is usually "". Definition: A thing is printed if its inscription does not match "". [or should that be is not ""?] Definition: A thing is unprinted if it is not printed. Instead of reading an unprinted thing: say "There's nothing written on [the noun]." Instead of reading a printed thing: say "[The noun] reads: [inscription of the noun]."

And then special rules if you want to have different outputs for different printed things. As I said, this is untested so I may have goofed a detail.

Ok thanks guys. I went with matt w’s solution because I want to be able to write text like “The inscription of the object is” rather than writing “Instead of reading the object” for every single object. Plus I have other texts I want attached to other objects (like a medical description attached to dead bodies that is printed once the player reads a text on pathology).

Yet another different way to do it:

A thing has a text called an inscription. The inscription of a thing is usually "".

Reading is an action with past participle read, applying to one thing. 
Understand the command "read" as something new.
Understand "read [something]" as reading.

Check reading:
	if the inscription of the noun is empty:
		say "There's nothing on [the noun] to be read.";
		stop the action.
	
Report reading something:
	say the inscription of the noun;
	say paragraph break.


The Library is a room.

The book is a thing in the Library. The description is "It's a  book on pathology." The inscription is "You read everything about all deadly diseases."

A chair is a thing in the Library.

A dead body is a thing in the Library. The description is "[if we have not read the book]A dead man, that's all you can tell.[otherwise]How extraordinarily interesting! This looks like a genuine case of bubonic plague."