Problem Characters in Pier

Consider the following problem - Pier 2 allows one to create pages that have non-standard text (like MS curly quotes, dashes, and ...). Pier 3 raises errors when a page has the multi-character coding present (if the text is added manually, it is converted - ie the curly quote turns to Character value: 8217).

One way of discovering how quantify how much needs fixed is the following workspace code:

(PRPathLookup start: (PRKernel instances detect: [:e | e name = 'Pier']) root path: '/path/to/Documentation') enumerator everything 
  select: [:page | page hasDocument and: [page contents contains: [:char | char asciiValue = 226]]].

To print them out in the transcript:

| hasPrintedName string |
PRKernel instances anyOne root enumerator everything do: [:page | page hasDocument and: [
		hasPrintedName := false.
		string := page contents.
		string withIndexDo: [:char :index | char asciiValue = 226 ifTrue: [
				hasPrintedName ifFalse: [hasPrintedName := true. Transcript cr; show: page absolutePath].
				Transcript cr; show: (string copyFrom: (index - 10 max: 1) to: (index + 12 min: string size))
				]]]]

The class Pier2ToPier3Converter in ClassicPier has been setup specifically for this.

Posted by John Borden at 26 July 2014, 11:04 pm link