Thursday, January 31, 2008

Why did Pages' characters look blurry?

With Pages 3.0 and earlier, many users perceived problems with blurriness around the characters. With Pages '09/Pages 4.0 Apple changed the way fonts are rendered, which makes them look darker or sharper than they did before.

The word below is written using Helvetica 10 and rendered at 100% size. The top rendering is Pages '09 and the lower one is Pages 3.0. Surprisingly the top rendering looks better on an LCD screen than the lower one.



This uses the default setting in System Preferences > Appearance > Font smoothing style. With Pages '09, this setting is taken into account, unlike previous versions.

If you want to turn font smoothing off, open a terminal window and use the command
defaults write com.apple.iWork.Pages SFRFontSmoothing 0
If you want to turn it back on, use the command
defaults write com.apple.iWork.Pages SFRFontSmoothing 1
The text below was written for previous versions. It contains more explanations of what was wrong.
---

Most letters have some round curves, and that is a problem, as current computer screens consist of a lot of small dots, not curves.

The process of mapping the round curves of letters to pixels is called font rasterisation. There are different strategies to do it.

Last millennium one of the most common strategies was to simply put black dots in logical places. AppleWorks uses that method, and the result is that the letters get very rough edges. Here is the word "lollipop" written in Helvetica, 10 in AppleWorks. It is magnified about 10 times, so you can see the pixels.
The next strategy was to use anti-aliasing. That means that you add pixels of different shades of grey to increase the illusion that the letters are curved. It looks ridiculous when you magnify it, but when the font is small, it is surprisingly efficient. It is very likely that your web brower uses anti-aliasing to display the characters you read right now. Magnified, the characters do not look very legible:

But on a screen, it does not look quite that bad:


This is still the most efficient strategy, if you have a CRT (Cathode ray tube) screen. It is also the method Pages uses. However, fewer and fewer people use CRT screens nowadays.

For LCD screens, the best strategy is usually subpixel rendering. This uses the fact that each pixel on an LCD screen consists of three small elements, one red, one green and one blue. Looking at a magnified image of these pixels gives the impression that it is almost illegible. However, when one takes into account that the colour elements are at different positions inside each pixel, it is easier to understand that this can actually be easier to read than plain anti-aliased text.

On the screen it looks a little better. Keep in mind that this is my screen magnified about 10 times.

As you can see, the monitor does not simply display the colours right off, but there is some algorithm how to display it correctly.

To some people this gives a much clearer picture. To others it is mostly annoying, as they are able to see the different colours, in spite of the small size. This is a technology used by for example TextEdit and MS Word for Mac. Your browser may also use it.

Using System Preferences > Appearance, you can change this setting for TextEdit and Microsoft Word and many other applications. If you choose CRT, you disable the subpixel rendering in the applications.
However, these settings hardly change anything at all for Pages.

Why does Pages not allow subpixel rendering? The most convincing explanation may be that it is more difficult to implement in Pages than in other applications, as text can be transparent against a coloured background. It would be very difficult to choose how to handle transparent coloured pixels, when the background changes colour.

Besides, the number of pixels per inch increases all the time with more modern screens. In the near future, it will not matter much which technology is used to map curves to pixels.

So, what can one do, if one thinks Pages displays too blurry characters on the screen today?

Not much. One can either get used to it or buy a new screen with higher resolution or simply increase the zoom.

If you want to learn more about font rendering in Mac OS X, here is a list of facts and opinions on the subject:
And after Pages '09

Wednesday, January 30, 2008

Export folder to Word, RTF, PDF, TXT or RTFD

This AppleScript to export the content of a folder with Pages documents was kindly created by Yvan Koenig. You can find more of his scripts at his Public iDisk. If you prefer to export a selection of files, you may want to have a look at the scripts in this post, which use a Scriptlet.

To use the script below, copy it all into a new script in ScriptEditor and run. Due to blogspot's layout, you may not see all characters here, but they should be copied properly, if you highlight all the non-proportional text below.
(*
Export pages documents as Word ones in the folder where the original docs where.

Assuming that we start with:
AppleScript & Office.pages
it will be exported as:
AppleScript & Office.doc
If a file already exist with the short name
it may be saved as:
AppleScript & Office#20080128T221639.doc (if withSeconds is defined as true)
AppleScript & Office#20080128T2219.doc (if withSeconds is defined as false)

the serial number is a packed version of the date/time of the save process:

2008/01/28T22:16:39 or 2008/01/28T22:16

Thanks to Dale GILLARD who teach me the way to export without using GUI scripting.

Yvan KOENIG
28 janvier 2008
29 janvier 2008
*)

property withSeconds : false (* you may set it to true if you wish *)
property typeNum : 1 (* 1 = WORD, 2 = PDF, 3 = Txt, 4 = rtf, 5 = rtfd *)

property newExt : ""
property newType : ""
property types : {{"doc", "SLDocumentTypeMSWord"}, {"pdf", "SLDocumentTypePDF"}, {"txt", "SLDocumentTypePlainText"}, {"rtf", "SLDocumentTypeRichText"}, {"rtfd", "SLDocumentTypeRichTextBundle"}}

tell application "Finder" to set listeFichiers to every item in (choose folder) (*
dans un bloc Finder pour avoir un titre de dialogue "localisé"
• in a Finder block to get a localized dialog title. *)
if (count of listeFichiers) = 0 then return
open listeFichiers

-- ===========

on open (sel)
repeat with elem in sel
my exploreTraite(elem as alias, "")
end repeat
end open

-- ===========

on exploreTraite(elem, ptree) (*
elem est un alias
elem is an alias *)
local elem_, cl_, typeId_
set elem_ to elem as text
tell application "System Events"
set cl_ to class of item elem_
set typeId_ to type identifier of elem
end tell
set cl_ to cl_ as Unicode text

if cl_ is "file package" then
if typeId_ is "com.apple.iwork.pages.pages" then my TraiteUnPackage(elem_, ptree)
else if cl_ is "folder" then
my ExploreUnDossier(elem_, ptree)
else
-- not for us
end if -- cl_ is …
end exploreTraite

-- ===========

on ExploreUnDossier(dossier, ptree)
local nomElement, cheminElement, c
repeat with nomElement in list folder dossier without invisibles
set cheminElement to dossier & nomElement
tell application "Finder" to set c to name of (dossier as alias)
my exploreTraite(cheminElement as alias, ptree & c & ":")
end repeat
end ExploreUnDossier

-- ===========

on TraiteUnPackage(aPackage, ptree)
local docPathAndName, oldName, docName, newExt, newType
(* aPackage always ends with a colon, we must remove it *)
set aPackage to (text 1 thru -2 of (aPackage as Unicode text)) as alias

set {newExt, newType} to types's item typeNum
tell application "Finder"
set sourceFolder to (container of aPackage) as Unicode text
set oldName to name of aPackage as Unicode text
end tell -- Finder
set docName to (text 1 thru -6 of oldName) & newExt
set docPathAndName to sourceFolder & docName

tell application "System Events"
if exists file docPathAndName then
set docName to (text 1 thru -7 of oldName) & my serialize() & "." & newExt
set docPathAndName to sourceFolder & docName
end if
end tell -- system events

tell application "Pages"
open aPackage
save front document as newType in docPathAndName
close front document
end tell -- Pages
end TraiteUnPackage

-- =============

on serialize()
local cd, serial
set cd to current date
set serial to (year of cd as text) & text -2 thru -1 of ("0" & (month of cd as number)) & text -2 thru -1 of ("0" & day of cd) & "T" & text -2 thru -1 of ("0" & hours of cd) & text -2 thru -1 of ("0" & minutes of cd)
if withSeconds then
return "#" & serial & text -2 thru -1 of ("0" & seconds of cd)
else
return "#" & serial
end if
end serialize

Monday, January 28, 2008

How do I best organise my fonts in Fontbook?

You may have read in some obscure blog posting that it is good to organise your fonts in Collections in Fontbook. That obscure posting was right, but what strategy should you use to create collections? Which criteria should you use?

You should of course create one or a few folders with your favourite fonts, based entirely on what you like.

In addition, it may be good to create folders based on some objective criteria, and to do so, you can often use the search field.

You can for example start with a search for fonts that contain Italic typefaces.

1. Create a collection called "Italics".
2. Type "Italic" in the search field. The font list now only contains fonts which match the word Italic.

3. Select all fonts with command-A.

4. Clear the search field. The selection now extends to all typefaces in the fonts that contain italics.

5. Drag the selection to the collection "Italics".

You now have a collection with fonts that you can italicize ready to be used in Pages or TextEdit or any other application using the Font Palette.

But you can go on.

6. Create another collection called "Italics Slimbach".
7. Click on the Italics collection and type "slimbach" in the search field and repeat the steps above.

You now have a selection with fonts by the designer Robert Slimbach, which all contain Italic typefaces.

And on again.

8. Go through the steps above again, but this time use the search word "Russian".

And you have a collection of Slimbach's fonts that can be used in Russian with Italics.

You can go on like this and create collections with more and more detailed criteria in different areas. You can for example search for "Apple" or "Adobe" to find fonts from those companies. Or you can search for OpenType or Postscript.

There are, however, two things that seem impossible to search for reliably: non-proportional fonts and sans serif fonts.

If you need that you need to create the collections manually. But there are still quite a lot of different kinds of collections you can create using the search function.

Sunday, January 27, 2008

How do I create an index in Pages?

If you want an index of keywords in Pages, you have to create it manually. Contrary to the table of contents functionality, there is no automatic solution for indexes.

People have different strategies to create them, usually based on the search function. You can for example get a list of all pages containing a particular word using View > Show Search.

Saturday, January 26, 2008

How do I use Quartz Composer?

Uh? Isn't that a development graphics tool? What does that have to do with Pages?

Admittedly not very much, but for some situations you may want to use Quartz Composer to modify pictures or text you have converted to an image. There are better and easier tools out there, but none is cheaper than Quartz Composer as it comes with the OS. If you want to experiment with it, here is some advice to get you going:
  1. Install the Development Tools from your Mac OS X installation DVD, unless you already have them.
  2. Go to Developer > Applications, and open Quartz Composer.
  3. Create a new file from the template "Image Filter". (The main differences between this one and a blank file is the fact that the a flag in Editor > Edit Protocol Performance already is set to "Image Filter", which makes sure you get all required patches.)
  4. Remove the optional elements and the macro called "Process the Image".
  5. Go to Editor > Show Patch Parameters.
  6. Double-click on the image, and choose the image you want to use yourself.
  7. Click on Edit > Show Patch Creator.
  8. Choose any patch you fancy, for example Image Transform. (Others, like Twirl, also work.)
  9. Click on the Output node on the patch "Image (required) _protocolInput_Image" and drag it to the left Image node of "Image Transform", so you get a yellow line that links the two.
  10. Click on the node "Transformed Image" from Image Transform and drag it to the Input node of the patch "Image (required) _protocolOutput_Image".
  11. (Optional) You can also add a Filter like "Circular Wrap Distortion" before the Image Transform. The method is the same as when you added the patch in step 8. You just have to connect the nodes.
  12. Unless the Viewer is already visible, go to Window > Show Viewer.
  13. Unless it is already running, click on the Run button.
  14. Click on the patch Image Transform and change its parameters.
  15. Experiment. Change or add other patches, to see the changes.
  16. If you find a result you like, save the file.
  17. Drag the file you created to an open Pages document, where it will appear as an image - or actually a movie - in case you added any moving elements.

How do I create Word Art with Pages?

You cannot.

If you want to let the letters dance over the page following curves or shapes, you have to go beyond Pages.

A few other products that support wordart like features are Art Text and Comic Life, but there are more ones out there. You can check Version tracker for more alternatives.

Tuesday, January 22, 2008

How do I add keyboard shortcuts?

To see Pages' keyboard shortcuts, you can go to the Help menu > Keyboard Shortcuts.

Just like in any other Mac OS application, you can also see at the end of each menu command, if there is shortcut for it.



To add your own shortcuts to menu items follow these steps
  1. Go to System Preferences > Keyboard & Mouse > Keyboard Shortcuts.
  2. Click on the + symbol.
  3. Select Pages from the Application list. The first time you will have to select the last value, "Other...", to add Pages to the list, as the list by default only contains applications directly in the Applications folder. Applications in sub-folders have to be added manually.
  4. Type the exact name of a menu command, for example "Export..."
  5. Press a keyboard combination including shift (⇧), control (⌃), alt (⌥) and/or command (⌘) and one other key, for example ⌃⌥⇧⌘E.
  6. Click "Add".



From now on Pages accepts ⌃⌥⇧⌘E as a shortcut to bring up the Export window, which you can see by pulling down the menu again.



There are some things to think about here. You can basically only assign shortcuts to menus. You can for example not add shortcuts to items in the inspector. Even though you can write "macros" for Pages using AppleScript, there is no way to assign shortcuts to the macros, as they reside in the Finder. However, you can assign "hotkeys" to Styles by clicking on the triangle next to the name in the Styles Drawer.

If there are several menu items with the same name, only one of them will get the shortcut.

If you change language in System Preferences, the shortcut will no longer work.

How do I attach a Pages document to an email?

In Pages '08 and earlier, each Pages document was a folder packages, something that confused a lot of mail programs.

In Pages '09, the files are just standard files by default. (You can change the default behaviour to packages in the preferences.) One easy way to mail files is to use the "Share" menu. Here you can send the front document using Mail.app in different formats.


If you want to mail a package, you can do that too:

1. Control-click or right-click on the file in Finder.


2. Choose "Compress ...." from the pop up menu.
3. You will get an "archive", a compressed zip-file, which you can attach to your mail, just like any other file.


The recipient will download the attachment, double click on it, and the original iWork file will be ready to be opened by Pages, Numbers or Keynote.

Sunday, January 20, 2008

How do I change the default zoom?

New documents always come up with the same zoom value (the percentage in the lower left corner of the document window). Sometimes that is far too big or far too small, so you may want to change it.

The simplest and safest way is to go to the menu Pages > Preferences, and change the Default Zoom value.

However, you may want to change it to a value that is not in the preferences dialogue, let's say 99%, for the sake of argument.

If you want to change the zoom for the current document only, you can use an AppleScript:

tell window 1 of application "Pages"
set view scale to 99
end tell

If you want to change the default value for all new documents, and you are willing to take a certain risk, you can manually edit the file ~/Library/Preferences/com.apple.iWork.Pages.plist and set the parameter SLDefaultsPageScale to 0.9900000 (for 99%).

In Mac OS X before 10.7, you can also run the following command in the terminal. (Copy the entire line until 0.99 - not only what is visible. Blogspots HTML hides the end of the line.)
defaults write com.apple.iWork.Pages SLDefaultsPageScale 0.99

Friday, January 18, 2008

How do I add line numbers?

Pages does not have any easy switch to show or hide sequential numbers for each row.

You can switch on paragraph numbering in the Inspector > Text > List, but as soon as a paragraph goes over several lines, it will be out of sync.

Apple suggests that you create a numbered text box and put it on the master slide.



However, that kind of list will not work if you change the font size, like for a title, or if you insert an image that spans the full page width and disrupts the numbering.

Wednesday, January 16, 2008

Spelling does not work. What can I do?

There are a couple of things to try:
  • Highlight all text and verify in the Inspector > Text > More, that a language is chosen.
  • "Clean up" the document by exporting it to some other format (MS Word or old Pages formats for example), and import it again.
  • Go to Applications > Utilities and run Disk Utility. Go to First Aid > Repair Disk Permissions. (It actually has worked for people with this problem.)
  • You may have an old version of CocoAspell. Update to a newer version, and the problem may go away. (If you do not even have it installed, do not bother upgrading, of course.)
  • Check username/Library/Services. If you see a file called "Spell Catcher Services.service", delete it, log out, and log back in.
  • Check username/Library/Services. If you see a file called "aspell.service", delete it, log out, and log back in.
  • Remove files from username/Library/Spelling
  • Check Username/Library/Application Support. If you have a folder there called "Spell Catcher", remove it.
  • Go to /Library/Caches and trash all files ending with .csstore, and then reboot.

How do I compress images in Pages?

You cannot.

Any image you import to Pages stays its original quality and size to allow print outs and exported PDF files to be as good as possible.

If you really want to save space, you have to compress the original image file in an external graphics editor, like iPhoto, Photoshop, Aperture, the gimp, or many others. This is not the place to evaluate which one is best, but there is a list of some possible ones at Wikipedia.

Even though you cannot compress the images within Pages, note that for the finished document, you can export a compressed PDF version from Pages using Share > Export. (Before Pages '09, the menu was File > Export.)

Sunday, January 13, 2008

Where did all those tabs come from?

When you open a Pages document, it has no visible tabulator stops at all.

However, there is a hidden set of default tab stops, just like in Open Office, Microsoft Word and many other word processors.

As soon as you add a manual tab stop to a paragraph, all previous default tabs disappear:


The distance between the hidden default tabs is defined in the inspector.



However, sometimes a paragraph suddenly gets plenty of visible tabs:

This can happen if you paste text from applications like TextEdit or AppleWorks. These applications do not have the concept of hidden default tabs, so they have to use real visible tabs instead.

The easiest way to get rid of them is to apply a paragraph style without tabs. You can often simply click on the red triangle to the right of the style name and choose "Revert to Defined Style".

Why can't I add Reflections or Adjust an Image?

The text below was written before Pages '09. With Pages '09, you can add reflections to shapes, but the other restrictions remain.

...

If you highlight an object and go to the Inspector > Graphic, it is possible that the Reflections checkbox is greyed out. And if you go to View > Show Adjust Image, it is possible that none of the controls work.

This may be because you
a) have not highlighted anything. (Make sure you clicked on the image.)
b) have highlighted something that is not an image. Images can for example be PNG, JPEG, GIF, TIFF with or without layers and transparency in CMYK, LAB or RGB colour space.

You cannot add reflections to inserted shapes (Insert > Shape > whatever), tables, text or charts, even though you can add shadows and change transparency for them. Neither can you use the Adjust Image window with them.

Reflections work only on images and PDF files you have inserted from elsewhere (for example with Insert > Choose... or drag-and-drop from the Finder).

Adjust Image only works on images but not on inserted PDF files.

Why does Pages have these limitations? It is because PDF files and inserted shapes are vector graphics. They have a completely different way of handling colours. Take for example the slider for "Sharpness". To apply sharpness to bitmap graphics, you simply change the surrounding pixels a little. However, for vector graphics, there is nothing called "surrounding pixels", to that kind of adjustment does not work.

The main problem here is not that Pages does not apply adjustments to vector graphics. The main problem is that it does not provide any user feedback why it cannot be done, and what the user can do to get around the problem.


In this image the left circle is a shape from Insert > Shape > Oval, so it does not accept reflections. The right circle is an image that was dragged onto the document from the Finder, so the reflection works fine.

Saturday, January 12, 2008

How do I add an indent?

There is no keyboard shortcut to add a paragraph indent, as there are in some other programs, but apart from that it works like almost every other word processor.

Display the ruler, if it is not already displayed. (⌘-r)



Drag the small blue rectangle in the ruler so it is to the right of the blue triangle to create an indent.



Drag the small blue rectangle in the ruler so it is to the left of the blue triangle to create a hanging indent. You may have to move the blue triangle first.



You can achieve the same thing by typing numbers in the inspector.

You can also make the paragraph look like it has an indent by starting it with a tab or a couple of spaces, but then you will have to repeat that for every new paragraph. The easiest thing is often to use the ruler or inspector to create an indent, and then to create a new style from the current text, so you can reuse exactly the same format at other places in the document.

Thursday, January 10, 2008

Pages prints to the wrong printer. Why?

Some people have reported Pages to print to the wrong printer all the time. They set up one default printer, but Pages insists on printing to a different one. Apparently Pages sometimes saves printer information in a file or template, so the files want to print on a particular printer. Perhaps this happens after one has changed some printer dependent page setup parameters.

The solution can be to copy the content of the file to another file - preferably one created with another template.

How do I exchange files InDesign, Publisher or other DTP applications?

There is no easy way to export a file from Pages so it can be opened by Desktop Publishing Applications like Adobe InDesign, Microsoft Publisher or Quark Express. Neither is there any elegant way to export from those applications so one can open the file in Pages.


Let's just look at InDesign as an example of the problems.

From Pages to InDesign

If you copy formatted text from Pages to InDesign, it will loose all the formatting - font, size, typeface and so on.

If you copy a Text Box from Pages to InDesign, it becomes a graphic. You can no longer correct spelling mistakes or change fonts.

If you copy an image with an alpha channel for transparency and the setting Wrap text to follow the contour of the object, and paste it to InDesign, it will be pasted correctly with a transparent part - however, you will have to set the wrap setting as you want it manually - for each image obviously.

From InDesign to Pages

If you copy formatted text from InDesign to Pages, it will keep part of the formatting, like font and size. However, some features that are not supported by Pages, like kerning, will obviously be discarded.

If you copy a Text Box from InDesign to Pages, it becomes a pdf graphic. You can no longer correct spelling mistakes or change fonts.

If you try to Select All in InDesign and copy it to Pages, it will become a non editable pdf graphic of that page.


Solution

If you have a document in the format of another dtp application and want to work on it in Pages instead, the only solution is often to manually copy and paste piece after piece, and then to correct the formatting that was lost.

However, if there is one page, which you want to create in another application, you can usually save it to PDF from that other application, and you can then paste or insert the PDF as a picture to Pages.

Wednesday, January 09, 2008

Where do I find more templates?

If you want to find more templates than what is already included with Pages, there are several places on the web where you can find some. Try for example iWorkCommuniy. On the web you can also find some commercial ones that may fit your needs, but make sure you know what you get before you buy them.

As you can import Word files, if you find some nice MS Word templates, you can create Pages templates from them. You may need to change the extension from .dot to .doc to be able to import them.

Tuesday, January 08, 2008

How do I create macros in Pages?

The way to create macros in Pages 3.0 is to use AppleScript.

Unfortunately, Pages is not recordable, unlike some programs where you can record a series of actions you perform into an editable script. For Pages you will have to create your scripts manually.

To see what kind of things can be done with Pages, open Applications > AppleScript > Script Editor, and go to the menu File > Open Dictionary > Pages.

To see some examples of scripts people already have made for Pages, make a Google search for "tell application pages".

To get a list of resources about AppleScript in general, use for example Wikipedia.

There is currently no way to add menus or buttons with your own scripts to Pages' menus or toolbars.


Pages' AppleScript dictionary as displayed in Script Editor.

Saturday, January 05, 2008

How do I set printer information?

In contrast to high end Desktop Publishing (DTP) applications, Pages uses standard Mac OS X printing dialogues and features.

This means that you cannot specify things like bleed (additional space for pictures close to the edge), slug (additional space for printer comments) or creep (adjustments for paper thickness in folded pages). Neither can you print or display printer marks.

For most of us, these are not serious limitations. For those who really need the features, however, you should look at other applications.

Above is a print dialogue from InDesign. Most of these features are not available in Pages.

Printer marks that cannot be printed from Pages.

How do I create forms with Pages?

You cannot. Pages does not support forms.

If you want to create a form to be filled out on paper, you can of course simulate the form fields with pictures and shapes.

If you want to create a form to be filled in using software, with fields, checkboxes, radiobuttons and such things, Pages is not the tool for you. To create forms, you can try Adobe Acrobat, Microsoft Office, OpenOffice or NeoOffice for example. (It is not simple in any of them, and some of them may crash frequently, so prepare yourself with some patience.)


The image above is from Numbers. Numbers has the ability to set values with check boxes, but when you copy those cells to Pages, they strangely enough lose the feature.


The image above is from NeoOffice. Pages does not support any form functionality.

Tuesday, January 01, 2008

How can I check grammar in a Pages document?

Pages 3.0 contains no "grammar check" but it contains a "Proofreader", which tests things like these for English texts:
  • Improper capitalization (like a sentence starting with a lower case letter)
  • Duplicate words
  • Using "an" instead of "a"
  • Full stop inside quotation marks ("He screamed". <> "He screamed.")
  • Formatting errors (for example, abbreviations that should be spelled out in formal writing)
  • Jargon
  • Gender-specific expressions - like "mankind" instead of "humankind" or "humanity".
  • Date format ("12/24/07" is considered too informal).
With Mac OS X 10.5 (Leopard) the OS got its own grammar checker, which is not used by Pages 3.0.1. It contains some checks for pure grammatical errors like:
  • Verb conjugation ("I is". "I have did".)
  • The difference between "their" and "there" (as in "there house").
  • Sentence fragments (sentences without a verb - like this one).
To use the OS grammar check, paste the text into TextEdit and verify it there.

However, the OS grammar check does not check for the following issues, which Pages' Proofreader checks for:
  • Inconsistent spacing or punctuation marks, like "la Arabie" for "l'Arabie" in French.
  • Complex words like "eventuate" or jargon like "pretty".
  • Gender words like "mankind".
  • Date formats.
In some ways the lack of vocabulary check may actually be good, as you sometimes want to write for example "pretty", and Pages cannot switch off that check.

For grammar checks for other problems, try for example MS Word or Grammarian.

How do I add a hyperlink to an image?

You cannot add a hyperlink to an image or graphics object - only to text. A possible work around is to add a text box with the hyperlink and then to hide the text box setting the opacity to 100%. This solution does work, but it may confuse a reader who may get false matches, if he tries to search for text that happens to be in the hidden text box.