pax_global_header00006660000000000000000000000064120561257030014513gustar00rootroot0000000000000052 comment=e0d37b4ea91b002dbff505450e3632f459e02e34 FontManager-master/000077500000000000000000000000001205612570300145515ustar00rootroot00000000000000FontManager-master/COPYING000066400000000000000000000026571205612570300156160ustar00rootroot00000000000000==================== Font Manager Copying ==================== Copyright 2007 Isaiah Beerbower. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. FontManager-master/ChangeLog000066400000000000000000000215301205612570300163240ustar00rootroot000000000000002008-10-02 Isaiah Beerbower * PQCharactersView.*: View which shows a grid of characters. * PQCharactersController.*: Changed to support PQCharactersView. * PQCharacterView.*: Minor changes. * GNUmakefile: Updated to include last files. * README: Changed version. * Resources/UnicodeBlockNames.plist * Resources/UnicodeBlocks.plist * English.lproj/FontDocument.gorm: Added Characters View * English.lproj/FontDocument.nib: Same as above. 2008-02-20 Isaiah Beerbower * PQController.m: Use PQFontManager. * PQMain.m: Use PQFontManager. * PQSampleController.m: Fix some small issues. * PQCharactersController.*: Controls character samples. * PQCharacterView.*: Shows a single character. * PQFontManager.*: Subclass of NSFontManager to add more functionality. * PQFontDocument.*: Removed some test code. Still more. * GNUmakefile: Updated to include last files. * FontManager.xcode: Xcode project for panther. * English.lproj/InfoPlist.strings: Updated strings. Fixed some issues in gorm/nib files: * English.lproj/MainMenu.gorm * English.lproj/FontDocument.gorm * English.lproj/MainMenu.nib * English.lproj/FontDocument.nib 2007-12-05 Isaiah Beerbower * FontManagerInfo.plist: Added reference to font document icon Document-Font.tif. * GNUmakefile: Added Document-Font.tif to build. * Info.plist: Added reference to font document icon Document-Font.icns. * FontManager.xcodeproj: Added Document-Font.icns to build. 2007-12-02 Isaiah Beerbower * PQCharacterView.*: Made character drawing actually work. * English.lproj/FontDocument.nib: Fixed resizing issues. Added scroller under character view. 2007-12-01 Isaiah Beerbower * PQCharacterView.m: Tweaked to compile on Mac OS X. * FontManager.xcodeproj: Added PQCharacterView.* to build. * PQFontDocument.m: Tweaked to compile on Mac OS X. * English.lproj/FontDocument.nib: Added a PQCharacterView under the "Characters" tab. 2007-12-01 Isaiah Beerbower * PQController.m ([-awakeFromNib]): Changed localized string names from PQFamily and PQFamilies to family and families. * PQSampleController.m: Fixed bug introduced in last commit. Implemented custom text option for font document samples. * PQCharacterView.*: Added PQCharacterView class which will show a fonts glyph for a supplied character. * PQFontDocument.*: Added support for Mac OS X. (Incomplete) * FontManager.xcodeproj: Updated build on Mac OS X. (Still doesn't work) * English.lproj/Localizable.strings: Changed localized string names from PQFamily and PQFamilies to family and families. Added a paragraph of Lorem ipsum and a alphabet/numeral sample. * Info.plist: Added font document type. * English.lproj/FontDocument.nib: Added font document interface for Mac OS X. * English.lproj/MainMenu.gorm: Changed name of groups view to "Collections" (display only, not in code). Fixed odd coloration problem in collections view and fonts view headers. * English.lproj/FontDocument.gorm: Added a PQCharacterView under the "Characters" tab. * GNUmakefile: Added PQCharacterView.* to build. 2007-11-30 Isaiah Beerbower * Info.plist: Change version number from 1.0 to 0.1 (the first was a mistake). * PQSampleController.*: Adapt to single font sampling, as well as multiple font sampling. * PQFontDocument.*: Add font document controller. * FontManagerInfo.plist: Updated my email address and added font document type. * English.lproj/FontDocument.gorm: Add font document interface. * GNUmakefile: Added FontDocument.gorm and PQFontDocument.m to build. 2007-07-06 Quentin Mathe * Info.plist: Modified CFBundleIdentifier to be valid and added FontManager.tif icon reference. * FontManagerInfo.plist: Added ApplicationIcon and NSIcon. * GNUmakefile. Updated. 2007-07-04 Isaiah Beerbower * Info.plist: Fix "Can't create document" error message on Mac OS X. * PQController.*: Add NSSplitView delegate methods. * English.lproj/MainMenu.nib/*: Set PQController as NSSplitView's delegate. * English.lproj/MainMenu.gorm/*: Same. * PQFontSampleView.m ([-drawRect:]): Moved some code back because it was causing a drawing bug when moved. (: 2007-06-22 Isaiah Beerbower * PQFontSampleView.m ([-drawRect:]): Moved some code for performance reasons. 2007-06-22 Isaiah Beerbower * PQFontSampleView.m ([-drawRect:]): Worked around problem with GNUstep's [-displayName]. * PQFontSampleView.m ([-drawRect:]): Fix a drawing bug caused by auto resize. 2007-06-21 Isaiah Beerbower * PQSampleController.*: Removed some commented out code. * PQController.m: Better method for finding style name. 2007-06-21 Isaiah Beerbower * English.lproj/MainMenu.gorm: Totally redid the gorm file. * *.m: Various small additions. 2007-06-20 Isaiah Beerbower * PQSampleController.*: Simplified unnecessarily complex code. * English.lproj/MainMenu.nib: Totally redid the nib. 2007-06-19 Isaiah Beerbower * PQController.m: Put parentheses around 'assignment used as truth value'. * PQSampleController.*: Added -changeSize. * English.lproj/MainMenu.nib: Added connection between size slider and sample controller's -changeSize. * README: A README. 2007-06-17 Isaiah Beerbower * PQFontSampleView.m: Handles changing colors. * PQSampleController.m: Handles changing colors. 2007-06-17 Isaiah Beerbower * PQFontSampleView.*: Only generates font sample if it needs to. * PQSampleController.*: Remembers if fonts need updating or not. 2007-06-16 Isaiah Beerbower * PQFontSampleView.*: Added auto resize methods, and changed drawRect: to use them. 2007-06-16 Isaiah Beerbower * PQFontSampleView.m: Some small changes. 2007-06-11 Isaiah Beerbower * PQFontSampleView.m ([-drawRect:]): Changed almost everything. 2007-06-07 Isaiah Beerbower * PQSampleController.m: Added method -updateControls, and call it from -awakeFromNib so controls will be updated on startup. 2007-06-07 Isaiah Beerbower * PQFontSampleView.*: Font sampling view to replace text view. * PQSampleController.m: Changed to use PQFontSampleView instead of a text view. * GNUmakefile: Makefile for GNUstep. * English.lproj/MainMenu.gorm*: Interface for GNUstep. 2007-05-28 Isaiah Beerbower * PQSampleController.m: Implemented -updateSampleText. 2007-05-28 Isaiah Beerbower * PQSampleController.*: Replaced -update with -updateFonts, -updateSampleText, & -updateSize. 2007-05-28 Isaiah Beerbower * PQController.m ([-outlineView:objectValueForTableColumn:byItem:]): Fixed possible range exception. 2007-05-27 Isaiah Beerbower * PQController.*: Added text field showing number of fonts. * English.lproj/MainMenu.nib/*: * PQSampleController.m: Fixed small problem with size combo box. 2007-05-26 Isaiah Beerbower * PQSampleController: Internal cleanup. 2007-05-26 Isaiah Beerbower * PQSampleController.m: Added to combo box datasource methods. * PQSampleController.h: * English.lproj/MainMenu.nib/*: Small amount of tweaking. 2007-05-25 Isaiah Beerbower * PQController.m ([-awakeFromNib]): Updates font sample after nib is loaded. * PQSampleController.m: Added -controlTextDidEndEditing: method. * PQSampleController.m: Default sample text is moved to Localizable.strings. * English.lproj/Localizable.strings: See above. 2007-05-25 Isaiah Beerbower * COPYING: Added license. * PQSampleController.*: Sampling is now implemented. * PQController.*: Now handles the font sample controller. * PQSampleController.*: Added sample text history. * PQSampleController.m: Fixed memory leak. * PQController.m ([PQController -dealloc]): Release objects when done. 2007-05-24 Isaiah Beerbower * PQController.h: Comments. * PQSampleController.m: NSComboBoxDataSource methods added. * English.lproj/MainMenu.nib/*: Combo boxes no use data source. 2007-05-24 Isaiah Beerbower * PQController.m: Added sorting of fonts. * PQFontFamily.h: Added -caseInsensitiveCompare: for sorting. * PQFontFamily.m: Same. 2007-05-24 Isaiah Beerbower * English.lproj/MainMenu.nib/*: Update nib 2007-05-24 Isaiah Beerbower * ChangeLog: * PQSampleController.h: * PQSampleController.m: * PQController.h: * PQController.m: * PQFontFamily.h: * PQFontFamily.m: * PQCompat.h: * PQMain.m: * Info.plist: * English.lproj/: * English.lproj/MainMenu.nib/*: * InfoPlist.strings: * FontManager.xcodeproj/*: Initial import of Font Manager. FontManager-master/Document-Font.icns000066400000000000000000001350451205612570300201210ustar00rootroot00000000000000icns%ics#H????????????????????????????is32)LJKA!  翸  ] m v q g    mÌ)LJKA!  澷  ] m v r g    mÌ)LJKA!  張  \ m w r h    mčs8mk1SSSSSSSRJB&!&(((((((()~բ"! !ICN#il32Ԣ'$- "5&?&C&E&T&]&a&܎uf&vĎe&8e&)e&\)ee&'e&&e&&e&'e&'e&'e&e&٨qcze&e &݀e&e&c&c&c&d 4'$- "5&?&C&E&T&]&a&܍uf&vÎe&8e&)e&\)ee&'e&'e &&e&&e&'e&&e&e&کrc{e&c&e&e&c&c&c&d ~4'$- "5&?&C & E&T&]&a&ڍuf& ue&8e& )e&\)de&'e&'e &&e&&e&'e&'e&c&ܪsc{e&܀e&e&c&c&c&e&d 4l8mk----------------*" ,>.T.W.\.d.m.s.x.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.|Nich#Hih326FGED=%' "ӝދ    $&覂(T}d*UTw, k)k)"l)"_ a)"B=1+Gmu)"od)"ng)"nj)"mi)"mj)"mi)"mi)"ni)"fi)"Te)Ҝ >)"cu)")")")")")")")")")") ,AUUSQO6FGED=%' "ӝދ!   "$"&"祁("T}d*"UTw, j)"j)"k)_ aـ)"B=1+Gmu)"oe)ng) mj )"ni)"mj)"mi)"mi)"ni)"fi)"Te)ӝ >)Ԁcu )")")")")")")")")")") ,AUUSQO6FGED=%' "ӝދ    $& 夁( T|d*TSw, j׀) j)k)^ a) B=1+Gmu)od) ng) nj)mi) mj) nj)mi)ni)gi)Tf)՞ >)Ձdv))))))))))),AUUQOh8mk =LLLLLLLLLLLLLLLLLLLLLLLLGB<6/'$(*/4;?BEHJJJIIIIIIIIIIIIIIIIIIIIIIIIIKRrutttttttttttttttttttttttttttttts(it32J ݣң ͢ â  Ԣ                  Q N  M N  c  h  h  g  o  u ߴ{t ؇O?>GS]bejzt I5I|\gmquvw ݢ26J`mqw|} ݑ366|grw|} 507E ipw|} v%53c htzz 2,51y y| /5/ ~ R"05/ ~ 2'05/} &(05/} *05/Ń} *05/} t+05/} f*05/} \*05/} 讫J*052pց߿}   &*05:>BGLRX\aa}  &*05:;GS]bfjzt I5I|\gmquvw ܡ36J`mqw|} ݑ366|grw|} 507E ipw|} v%53c htzz 2,51y y| /5/ ~ R"05/ ~ 2'05/} &(05/} *05/} *05/} t+05/} f*05/}  \*05/} 讫J*052pׁ޾}   &*05:>BGLRX\aa}  &*05:;BGLRX\aa}  &*05:;&%System0?&%windowBackgroundColor%0@0A&%sample0B&%Sample0C % ? ? C C@  C C@&0D &0E% A B C CY  C CY&0F &0G% A @ C؀ CU A B C؀ CU&0H &0I1 NSTextView1NSText% A B C؀ CY  C؀ CY&0J &0K0L&%System0M&%textBackgroundColor C؀ CY K K0NL0O& % textColor C؀ KK0P% @ @ A CU  A CU&0Q &%0R0S&&&&&&&&&&&&&&&&EG% A A A A P0T1 NSColorWell% B B BT A  BT A&$0U &%0V0W&&&&&&&&&&&&&&&0X0Y&%NSCalibratedWhiteColorSpace ? ?0Z % A B BT A  BT A&$0[ &%0\0]&&&&&&&&&&&&&&&0^Y ?0_1!NSSlider% A A@ C A  C A&"0` &%0a1" NSSliderCell0b&%140c1#NSNumber1$NSValued @,&&&&&&&&&&&&&&% @ C %0d0e&&&&&&&&&&&&&&&%0f0g&%System0h&%textBackgroundColor0ig0j&%controlTextColor0k0l&0m1%NSImage0n&%common_SliderHoriz&&&&&&&&&&&&&&%%0o1& NSComboBox1' NSTextField% C A  B A  B A&!0p &%0q1(NSComboBoxCell0r&%14r&&&&&&&&&&&&&&%0s0t&%System0u&%textBackgroundColor0vt0w& % textColor0x &%  @@ @ A%0y1) NSPopUpButton1*NSButton% C B  C A  C A&!0z &%0{1+NSPopUpButtonCell1,NSMenuItemCell1- NSButtonCell0|&&&&&&&&&0}1.NSMenu0~&0 &01/ NSMenuItem0& % Paragraph|&&%0%0& % common_Nibble%0/0&%Alphabet|&&%%0/0&%Custom|&&%%&&&&&&%0&&&& > =&&}%%%%%=%00& % characters0& % Characters0 % ? ? C C@  C C@&0 &010 NSSplitView% A A  C C@  C C@&0 &011NSBox%  C C@  C C@&0 &0 %  C C@  C C@&0 &0)% C@ C A  C A& 0 &%0+0&&&&&&&&&0.0&0 &0/0&%Item 1&&%%0/0&%Item 2&&%%0/0&%Item 3&&%%&&&&&&%0&&&& > =&&%%%%%0%  C C{  C C{&0 &0% A @ C Cw  C Cw&0 &012 GSCustomView13 GSNibItem0&%PQCharactersView  C C{&0Y ? ?0% @ @ A Cw  A Cw&0 &%00&&&&&&&&&&&&&&&&% A A A A 00&%Box&&&&&&&&&&&&&& %%01% C  C# C@  C# C@&0 &0 %  C# C@  C# C@&0 &020&%PQCharacterView @ A C! C&0!% @  C! A  C! A&"0 &%0"0&%1440#d @b&&&&&&&&&&&&&&% A@ C %00&&&&&&&&&&&&&&&%00&%System0&%textBackgroundColor00&%controlTextColor00±&m&&&&&&&&&&&&&&%%0ñ0ı&%Box&&&&&&&&&&&&&& %%0ű%0Ʊ& % common_Dimple0DZ0ȱ&%System0ɱ&%controlBackgroundColor0ʱ0˱&%controlShadowColor%A0̱0ͱ&%System0α&%windowBackgroundColor%%%0ϱ*% C A  B A  B A&!0б &%0ѱ-0ұ&%Install&&&&&&&&&&&&&&%0ӱ&0Ա&&&& &&0ձ)% A A  C A  C A&$0ֱ &%0ױ+0ر&&&&&&&&&0ٱ.0ڱ&0۱ &0ܱ/0ݱ&%Item 1&&%%0ޱ/0߱&%Item 2&&%%0/0&%Item 3&&%%&&&&&&%0&&&& > =&&ٰܰ%%%%%0*% C A  B A  B A&$0 &%0-0& % Install All&&&&&&&&&&&&&&%0&0&&&& &&0&%Window0&%Window0&%Window C CH F@ F@%&  D D@030&%PQCharactersController  &030&%PQSampleController  &0 &0 &014NSMutableDictionary15 NSDictionary&.0&%View(2)C0& % CustomView(1)0& % ColorWell(1)Z0& % CustomView(0)0&%View(1) 0& % ColorWell(0)T0&%PQSampleController(0)0&%TabViewItem(1)@0&%View(0)0&%TabViewItem(0):0& % TableView(0)0& % ScrollView(2)0&%PopUpButton(2)P& % Slider(1)P& % ClipView(0)P& % MenuItem(8)P& % ScrollView(1)EP&%PopUpButton(1)yP&%TableColumn(1)'P& % MenuItem(7)P& % Slider(0)_P&%Box(1)P & % Scroller(1)P &%PopUpButton(0)P & % ScrollView(0) P & % MenuItem(6)P & % Button(1)P&%TableColumn(0)P& % Scroller(0)P% A Cg C A  C A&P &%P&&&&&&&&&&&&&&&P&%Box(0)P& % MenuItem(5)P& % Button(0)P& % TextView(0)IP& % MenuItem(4)P& % MenuItem(3)P& % MenuItem(2)P& % MenuItem(1)P& % TabView(0)P& % MenuItem(0)P& % SplitView(0)P&%NSOwnerP16GSDictionaryKeyEnumerator17 NSEnumeratorP &%WindowP!& % ComboBox(0)oP"&%View(4)P#&%View(3)P$&%PQCharactersController(0)P% &PPP&18NSNibConnector P'8 P(8P)8P*8P+8P,8P-8P.19NSNibControlConnectorP/&%install:P01:NSNibOutletConnectorP1&%tabViewP28 P38 P48P58P6:P71;NSMutableString&%infoViewP8:P9;& % dataSourceP:: P;;&%_windowP<:P=& % installButtonP>8 P?8 P@8 PA8 PB8 PC9 PD& % installAll:PE9 PF& % selectFace:PG: PH&%facePopUpButtonPI: PJ&%installAllButtonPK8PL8PM8PN8PO8PP8!PQ8PR8PS8PT8PU8PV9PW;& % changeColor:PX9WPY9PZ;&%changeSampleText:P[:P\&%samplePopUpButtonP]:P^&%backgroundColorWellP_:P`&%foregroundColorWellPa:!Pb& % sizeFieldPc:Pd;& % sizeSliderPe:Pf;& % sampleViewPg:!Ph;&%delegatePi9Pj;& % changeSize:Pk9!jPl:Pm;&%sampleControllerPn:Po;&%delegatePp8Pq8#Pr8#Ps8#Pt8Pu8"Pv8Pw8$Px:$Py&%charSizeSliderPz9$P{&%changeCharSize:P|:$P};&%charactersControllerP~8"P8"P8 P8P8P:$P& % charsViewP:$P&%charViewP:$P&%unicodeBlockPopUpButtonP9$P&%changeUnicodeBlock:P8"P8P8P9P& % _doScroll:P8 P9 P& % _doScroll:P:$P& % dataSourceP:$P&%delegateP4&FontManager-master/English.lproj/FontDocument.nib/000077500000000000000000000000001205612570300224435ustar00rootroot00000000000000FontManager-master/English.lproj/FontDocument.nib/classes.nib000077500000000000000000000037511205612570300246030ustar00rootroot00000000000000{ IBClasses = ( {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, {CLASS = NSObject; LANGUAGE = ObjC; }, { ACTIONS = {changeSize = id; }; CLASS = PQCharacterView; LANGUAGE = ObjC; SUPERCLASS = NSView; }, { ACTIONS = {changeCharSize = id; changeUnicodeBlock = id; }; CLASS = PQCharactersController; LANGUAGE = ObjC; OUTLETS = { charView = PQCharacterView; charsView = PQCharactersView; unicodeBlockPopUpButton = NSPopUpButton; }; SUPERCLASS = NSObject; }, { CLASS = PQCharactersView; LANGUAGE = ObjC; OUTLETS = {dataSource = id; delegate = id; }; SUPERCLASS = NSView; }, { ACTIONS = {install = id; installAll = id; selectFace = id; }; CLASS = PQFontDocument; LANGUAGE = ObjC; OUTLETS = { charactersController = PQCharactersController; facePopUpButton = NSPopUpButton; infoView = NSTableView; installAllButton = NSButton; installButton = NSButton; sampleController = PQSampleController; tabView = NSTabView; }; SUPERCLASS = NSDocument; }, { ACTIONS = {changeColor = id; changeSampleText = id; changeSize = id; }; CLASS = PQSampleController; LANGUAGE = ObjC; OUTLETS = { backgroundColorWell = NSColorWell; foregroundColorWell = NSColorWell; samplePopUpButton = NSPopUpButton; sampleView = id; sizeField = NSComboBox; sizeSlider = NSSlider; }; SUPERCLASS = NSObject; } ); IBVersion = 1; }FontManager-master/English.lproj/FontDocument.nib/info.nib000077500000000000000000000007051205612570300240750ustar00rootroot00000000000000 IBDocumentLocation 199 300 357 240 0 0 1440 878 IBFramework Version 446.1 IBOpenObjects 5 IBSystem Version 8S165 FontManager-master/English.lproj/FontDocument.nib/keyedobjects.nib000077500000000000000000000463311205612570300256220ustar00rootroot00000000000000bplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver ]IB.objectdata 156<=AEiq"5ABJKMRU]^_bhqv{| %)9:BJNQUY[]lTuz{T  #$8:=>ADPTWX[^gkmnqxyO "(-8>HLTUVYZcdlmnvw '+,.4=>GNOWXZ[\]^abfknopuvyu~ $%*+[];~~$KZ}U$null  !"#$%&'()*+,-./0_NSObjectsValues_NSAccessibilityConnectors_NSClassesValuesZNSOidsKeys[NSNamesKeys]NSClassesKeys_NSAccessibilityOidsValues\NSOidsValues_NSVisibleWindowsV$class]NSConnections]NSNamesValues]NSObjectsKeys_NSAccessibilityOidsKeys[NSFramework]NSFontManagerYNSNextOidVNSRootxyzvj234[NSClassName^PQFontDocument789:X$classesZ$classname:;^NSCustomObjectXNSObject_IBCocoaFramework>?@ZNS.objects78BCCD;\NSMutableSetUNSSet>Fh!GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg 158:<>@BDFHJNPRTVXZ\^`bdfhjlnprt:jklmno0]NSDestinationWNSLabelXNSSource /0rstuvwxyz{|}~_NSWindowStyleMask_NSWindowBackingYNSMinSize]NSWindowTitle]NSWindowClass\NSWindowRect\NSScreenRectYNSMaxSize\NSWindowViewYNSWTFlags[NSViewClass,  +-px._{{195, 456}, {500, 400}}YNS.stringVWindow 78;_NSMutableStringXNSStringXNSWindow TView .ZNSSubviews_NSNextResponderWNSFrame*L>h%:_NSAllowTruncatedLabels[NSSuperview_NSSelectedTabViewItemVNSFont_NSDrawsBackgroundYNSTvFlagsXNSvFlags^NSTabViewItems O. M N>h:KL>hȀ:]NSNextKeyView[NSHScrollerXNSsFlags[NSVScroller]NSContentView\NSScrollAmtsIFBJOA A AA>hրBF:YNSBGColorYNSDocViewYNScvFlags/@ A>h:    _NSIntercellSpacingWidth_NSColumnAutoresizingStyle_NSGridStyleMask[NSRowHeight_NSDraggingSourceMaskForLocalYNSEnabled_NSIntercellSpacingHeight_NSDraggingSourceMaskForNonLocal\NSCornerView[NSFrameSize[NSGridColor^NSTableColumns_NSBackgroundColor"@@"A >@"@?<;Z{439, 266}._{{340, 0}, {16, 17}}78;]_NSCornerViewVNSView[NSResponder>h 6:#$%&'()*+-./234^NSResizingMask[NSTableView\NSHeaderCellZNSMinWidthWNSWidth^NSIsResizeable\NSIsEditableZNSDataCellZNSMaxWidth!"B "B -"Dz56789:;<=>?@[NSTextColorYNSSupportZNSContents[NSCellFlags\NSCellFlags2&(#",SKeyCDEFGHIVNSSizeVNSNameXNSfFlags"A0$% \LucidaGrande78L;NOPQWNSWhite\NSColorSpaceK0.33333299'78STT;WNSColorTVOWXYZ[Q[NSColorName]NSCatalogName+*)'VSystem_headerTextColorNO`QB0'78cddefg;_NSTableHeaderCell_NSTextFieldCell\NSActionCellVNSCell67i9:knop]NSControlView/2.4!@CDErGHu"AP$%TVOWwxZ[Q10)'_controlBackgroundColorNO}QK0.66666669'TVOWXZ[Q+3)'_controlTextColor78eefg;78;]NSTableColumn#$%&'()*+347"A"C` 956789:;<=?@&(#8,UValue67i9:knop/2.478;^NSMutableArrayWNSArrayNOQB1'TVOWZ[Q>=)'YgridColorNOQD0.5'78$$;\%NSTableViewYNSControl_{{1, 1}, {439, 266}}78;ZNSClipViewXNSTargetYNSPercentXNSActionCE"?q-πD_{{440, 1}, {15, 266}}\_doScroller:78ǥ;ZNSScrollerЀGE"?}ـH_{{-100, -100}, {339, 15}}_{{20, 20}, {456, 268}}78դ;\NSScrollView_{{10, 33}, {496, 308}}78;_{{-8, 40}, {516, 354}}>hހOUˀ:Tk\NSIdentifierYNSTabViewRPQTQ1TInfoTVOWwZ[Q1S)'\controlColor78;]NSTabViewItemTkRVʀWTQ2.XɀL>hY: ڀZWW[}[J>h[}:"#XNSCursor\YY];]zyA>&h]:*+y,-./234.Z678XNSMinize\NSSharedDataZNSDelegateYNSTVFlags_NSTextContainerw[[g^v x__{{0, 140}, {439, 14}}';<=>@AZNSTextView_NSLayoutManagerYNSTCFlags"Cۀ]`fCD,EFZ.HI]NSTextStorageYNSLMFlags_NSTextContainersaed,.LMcbOP 78RCCST;_NSMutableAttributedString_NSAttributedString>Vh8_:78Z<<;78\..;^_`abcde.Xhi._NSSelectedAttributesWNSFlags_NSDefaultParagraphStyle_NSInsertionColor_NSLinkAttributes_NSMarkedAttributesh++pu;>mnqtWNS.keysopkmrsijoTVOWwwZ[Q1l)'_selectedTextBackgroundColorTVOWX}Z[Q+n)'_selectedTextColor78;\NSDictionary>mtstqro[NSUnderlineOQUNSRGBF0 0 1'78;_NSTextViewSharedData\{439, 1e+07}X{114, 0}78;;;[%NSTextViewVNSText_{{1, 1}, {439, 205}}YNSHotSpot\NSCursorType{|W{4, -5}78;ZNSCurValueYY"?Y~E_{{440, 1}, {15, 205}}YYYE"?rC_{{-100, -100}, {87, 18}}_{{20, 81}, {456, 207}}g.\NSDataSourceWW !_{{412, 17}, {67, 26}}6$78i,9:k._NSHasVerticalScroller_NSVisibleItemCount_NSUsesDataSource2  . q@@R14TVOWZ[Q;)'_textBackgroundColor, ׀"A h:#$%&'(*+34"A 56789:?@;,O CDEGH"A@$%NOPQ'67i9:knp/2. 41@_tableViewAction:78$;_NSComboTableView78efg;^NSComboBoxCell78;ZNSComboBox[NSTextField\%NSTextFieldg !"WW "_{{18, 17}, {388, 21}}%&78i'()*+,9:-./1234517_NSTickMarkPosition]NSAltIncValue_NSNumberOfTickMarks_NSAllowsTickMarkValuesOnlyZNSMaxValueWNSValueZNSMinValueZNSVertical##@r#@,#@O CDE;H%YHelvetica78?@@fg;\NSSliderCell78BCC;XNSSliderETFJKMNO\NSIsBordered[NSDragTypesWW $>Q@RU_NSColor pasteboard type _{{20, 49}, {52, 24}}OYQF0 0 0'78\]];[NSColorWellETFbcMNfWW >h@iU _{{80, 49}, {52, 24}}OoQF1 1 1'gtvwWW Ȁ_{{349, 47}, {130, 26}}z9{|}~:i7_NSAlternateImage^NSButtonFlags2]NSButtonFlagsVNSMenuZNSMenuItem_NSAlternateContents_NSPreferredEdge_NSPeriodicDelay]NSAltersState_NSKeyEquivalent_NSUsesItemFromMenu_NSPeriodicInterval_NSArrowPositionA@@ . KCDErGH$%O }w]NSMnemonicLoc_NSKeyEquivModMaskWNSStateWNSTitleYNSOnImageZNSKeyEquiv\NSMixedImage[NSMenuItemsƀYParagraph2^NSResourceNameWNSImage_NSMenuCheckmark78;_NSCustomResource_%NSCustomResource2_NSMenuMixedState__popUpItemAction:78~~;ZOtherViews >h̀À:}w׀XAlphabet}wဴĀVCustom78}};78fg;_NSPopUpButtonCell^NSMenuItemCell\NSButtonCell]%NSButtonCell78;]NSPopUpButtonXNSButtonVSampleTkR̀ ̀TQ3.΀ L>hπ:\NSIsVerticalЀ́  > h  р:1\NSBorderType_NSTitlePosition[NSTitleCellYNSOffsets]NSTransparentYNSBoxTypeҀππӀ>hӀ:# % ԀррL>)h*+Հ:.123451ڀրӀӀ׀r߀׀J>9h153׀߀:?**BBEF؀ՀՀـRـA>IhBـ:M2NO11RS[NSExtension܀ڀ׀׀݀Z{277, 700}_PQCharactersView78WXX;\NSCustomView_{{1, 1}, {277, 219}}***^abՀՀՀ E">.Ѐ_{{278, 1}, {15, 219}}***hjkՀՀՀE"?B_{{1, 220}, {277, 15}}_{{16, 16}, {294, 236}}gqsvuӀӀ  Ȁ_{{13, 268}, {300, 26}}z9{|}~:i7yz}+̀ꀱ . O }yu쀶耺ƀUItem3 >hz:Z{310, 308}V{0, 0}6789:=n#4SBoxNOQM0 0.80000001'78;UNSBox1πρ>h:  L>h:g !Ȁ _{{-2, 12}, {166, 21}}%&78i'()*+,9:-.124517#@bO M2Rځ݁_{{0, 39}, {162, 253}}_PQCharacterViewZ{178, 308}_{{319, 0}, {178, 308}}6789:=n#4NOQ'Z{497, 308}78;[NSSplitViewZCharacters78;g _{{390, 12}, {96, 32}}z78i{|9:..@ȀWInstallO 78fg;78;g Mv ȁ_{{17, 16}, {130, 26}}z9{|}~:i7̀ . O } &(*ƁUItem1 >/h12":}6< !UItem2}@F#$gJMM& '_{{146, 12}, {116, 32}}z78i{|9:PS)..(%[Install AllO _{{1, 9}, {500, 400}}_{{0, 0}, {1440, 878}}Z{300, 222}_{3.40282e+38, 3.40282e+38}78_``;_NSWindowTemplateVwindow78cdde;_NSNibOutletConnector^NSNibConnectorjklhoj]40223m3_PQSampleControllerZsampleViewjkljrs267[changeSize:78wxxe;_NSNibControlConnectorjklj{s297jkljs2;7\changeColor:jkljs2=7jkljs2?7_changeSampleText:jkl0oA0ZdataSourcejkl0sC7%[installAll:jkl0sE7Xinstall:jkl0sG7[selectFace:jkljo2I0]Xdelegatejklo0KM023L_PQCharactersController_charactersControllerjkljo02O0_sampleControllerjkloQ0KXcharViewjklsKS7_changeCharSize:jklo0U0_facePopUpButtonjklo0%W0_installAllButtonjklo0Y0]installButtonjklo0[0WtabViewjklo0]0XinfoViewjkloj_02_samplePopUpButtonjkloja02_foregroundColorWelljklojc02_backgroundColorWelljkloje02ZsizeSliderjklojg02YsizeFieldjkljo2i0jklj o2k0jkloBKm0jklBoفo0KYcharsViewjkloBKq0jkl+!os0K_unicodeBlockPopUpButtonjkl's+Ku7_changeUnicodeBlock>,Z-B yj1z*m +2 ـ] Àπ2UӁՀK ̀W%6Yˀ"Oсw78\;>^Z-* +0 y00mՀYπ̀WWрOӀWˀUӀ WWWρw>Z)B my1zj0 +2 ـ] À 뀄KUӀ26W%Y"Oсw>Z){|}~wYNSSlider2[NSMenuItem2YPopUpList[NSMenuItem1_Characters Controller_Sample Controller]NSScrollView1\File's Owner^NSTableColumn1YNSButton1]NSScrollView2R21^NSTabViewItem1VNSBox1>Zw>Zw>ZOXKc_Q[NjT I+W JfH0b*g^mZMeVaS]POY2RBUG y1d`Lz\ހV:ldF\@2Nс5́T ÀW8r1jՀtb Z>pρRhJ`DUBX"K%HفP O6Y뀳n]f<^Ӏˁw>LZOMNOPQRSTUVWXYZ[\]^_`abcdefghjklmnopqrstuvwxyz{|}~ÀsāŁƁǁȁɁʁˁ́́΁ρЁсҁӁԁՁցׁ؁فځہ܁݁ށ߁w!Q6_HX"=T: D4cPF% 5h1]a&iWS8bMO\ CV< ;RB>^N#,G Id$`[7eUL>h:>Zw>Zw78;^NSIBObjectData#,1:LQVdf^d0=PWes  '0;@OXkt  "%(+.147:=@CFILORUWhv~(2?IUWY\^`behjort  ( 0 2 4 7 9 B K M P S V X            # & ( * ? A C E G I R U W Y      = G Q [ ] _ a c e g i k n p y | ~    > H c      2 ; D R Y e n s u w y !&(EQ[fr'<HVXZ\^`gy  ',.03HJLNPiv  <>@BDFLikmoqs| +4=Hir|  .GPYf -6;Ibdfhjlnp1:<>@BDFHJLUXZ\%/468:O]gz|~ 1HPj}/1357KTYfsxz| *7ANPRZch+LY[]_abegi   !$9;=?AW =?ACEGPRchjln{}'2>Khjlnortv(0;FOQSUV_hjsty!"$&'*,.7:<>Gacz  " ) + H J L N O Q S l !!!!3!A!S!h!}!!!!!!!!!!!!!!!!!!!!!"""("0"8"B"M"Z"\"a"f"h"j"l"n"p"r"t""""""""""""""""####!###6#J#S#X#a#l#n#w#~######################$$$$$$.$B$Q$^$l$u$$$$$$$$$$$$$$$$$$$$$%%%% %#%%%&%)%2%7%9%;%=%n%{%%%%%%%%%%%%%%%%%%%%%%%%&& & & &&<&>&@&B&D&F&H&J&L&N&P&Y&`&b&d&f&h&&&&&&&&&&&&&&&&&&&&&&&''''&'='f'h'j'l'n'o'q'v'x'''''''''''((((((( ("(;(((((((((((((((((((((((((((()) )))))$)+)H)J)L)N)P)R)W)[)h)v)x))))))))))))))))))))*********6*8*:*<*=*?*A*Y******************+++*+G+I+L+N+Q+S+`+b+m+v+++++++++++++, ,#,%,',*,-,/,8,;,=,?,D,L,U,W,`,k,t,,,,,,,,,- ---------!-"-+---Z-]-`-b-d-g-i-k-n-{-~---------------------...!.#.%.(.*.,./.L.N.P.S.T.W.Z.s............// /(/1/6/I/P/Y/`/w/////////////////000 0104070:0<0M0P0S0V0X0e0v0y0|00000000000000000000111111$15171:1=1@1L1]1`1c1f1h1q11111111111111112 2 2222202326292;2M2^2a2d2g2i2{22222222222222222233 3 3333,3.3134373K3\3^3a3d3g3}3333333333333333334 44444)4,4/42444E4H4K4N4P4a4c4f4i4l4v4444444444444444455_5a5c5e5g5i5k5m5o5q5s5v5x5z5}55555555555555555555555555555555555696;6=6?6A6C6E6G6I6K6M6O6Q6S6V6X6Z6\6^6`6b6d6f6h6j6m6o6r6t6v6x6z6|6~666666666666666666777777 7 77777777 7"7$7&7)7+7.70727476787:7=7?7A7C7E7H7K7M7O7Q7S7V7_777777777777777777777777778888 8888888 8#8&8)8,8/828<8H8R8^8v888888888888888999999999999999999999999999999999999:::: : ::::::::!:$:':*:-:0:3:6:8:;:=:?:A:C:F:H:J:L:N:P:R:U:X:Z:\:_:b:d:g:i:l:n:p:s:|;; ;#;&;);,;/;2;5;8;;;>;A;D;G;J;M;P;S;V;Y;\;_;b;e;h;k;n;q;s;v;y;|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<< < <<<<<<<<<< <"<$<&<(<*<,<.<0<2<4<6<8<:<<<><@&%Miniaturize Window0?&%m&&% %0@ 0A& % Close Window0B&%w&&% %0C 0D&%Services0E&&&% %0FD0G &0H 0I&%Hide0J&%h&&% %0K 0L&%Quit0M&%q&&% %0N1GSWindowTemplate1GSClassSwapper0O&%NSWindow1NSWindow1 NSResponder% ? A DG C&% B D@0P1NSView% ? A DG C  DG C&0Q &0R1 NSSplitView%  DG C  DG C&0S &0T1NSBox%  C4 C  C4 C&0U &0V%  C4 C  C4 C&0W &0X1NSButton1 NSControl% A A  A A  A A&$0Y &%0Z1 NSButtonCell1 NSActionCell1NSCell0[&%+0\1NSFont%[&&&&&&&&&&&&&&%0]&0^&&&& &&0_% A A  A A  A A&$0` &%0a0b&%-\b&&&&&&&&&&&&&&%0c&0d&&&& &&0e1 NSScrollView% A B C* C  C* C&0f &0g1 NSClipView% A A C C  C C&0h &0i1 NSTableView%  BP C  BP C&0j &%0k0l&\&&&&&&&&&&&&&&0m &0n1 NSTableColumn0o& %  collections BP A GP0p1NSTableHeaderCell1 NSTextFieldCell0q& %  Collections0r% q&&&&&&&&&&&&&&%0s1!NSColor0t&%NSNamedColorSpace0u&%System0v&%controlShadowColor0w!tu0x&%windowFrameTextColor0y 0z&%nine\z&&&&&&&&&&&&&&%0{!t0|&%System0}&%textBackgroundColor0~!t|0& % textColor0!t|0& % gridColor0!t|0&%controlBackgroundColor01"NSTableHeaderView%  BP A  BP A&0 &01#GSTableCornerView% @ @ A A  A A&0 &%% A @ @01$ NSScroller% @ A A C  A C&0 &%0l\&&&&&&&&&&&&&&&e2 _doScroll:v12@0:4@80% A @ C A  C A&0 &g% A A A A 00&%Box\&&&&&&&&&&&&&& %%0% C:  C C  C C&0 &0%  C C  C C&0 &0% A  A A  A A&$0 &%00&%+\&&&&&&&&&&&&&&%0&0&&&& &&0% A A  A A  A A&$0 &%00&%-\&&&&&&&&&&&&&&%0&0&&&& &&01% NSTextField% B< A  B A  B A&0 &%0 0&%Label0% A&&&&&&&&&&&&&&%0!t0&%System0&%textBackgroundColor0!t0& % textColor0% B C C  C C&0 &0% A A C C  C C&0 &01& NSOutlineView%  BP C  BP C&0 &%00&\&&&&&&&&&&&&&&0 &00&%classes BP A GP00&% r&&&&&&&&&&&&&&%sw0 0&%NSObject\&&&&&&&&&&&&&&%0!t0&%System0&%textBackgroundColor0!t0& % textColor0!t0& % gridColor0!t0&%controlBackgroundColor0"%  BP A  BP A&0± &0ñ#% @ @ A A  A A&0ı &%% A @ @ A 0ű$% @ A A C  A C&0Ʊ &%0DZ\&&&&&&&&&&&&&&&0ȱ% A @ C A  C A&0ɱ &ð% A A A A 0ʱ0˱&%Box\&&&&&&&&&&&&&& %%0̱% C  C C  C C&0ͱ &0α%  C C  C C&0ϱ &01' NSComboBox% A  C A  C A&"0ѱ &%01(NSComboBoxCell0ӱ&\&&&&&&&&&&&&&&%0Ա!t0ձ&%System0ֱ&%textBackgroundColor0ױ!t0ر& % textColor0ٱ &%  @@ @ A%0ڱ'% C B$ B| A  B| A&!0۱ &%0ܱ(0ݱ&\&&&&&&&&&&&&&&%0ޱ!t0߱&%System0&%textBackgroundColor0!t0& % textColor0 &%  @@ @ A%01) NSColorWell% B BT A  BT A&$0 &%00&\&&&&&&&&&&&&&&0!0&%NSCalibratedWhiteColorSpace ?0)% Bh B BT A  BT A&$0 &%00&\&&&&&&&&&&&&&&0! ? ?01*NSSlider% B B( C| A  C| A&"0 &%01+ NSSliderCell0&%24\01,NSNumber1-NSValued @8&&&&&&&&&&&&&&% @ C %0 0&\&&&&&&&&&&&&&&%0!t0&%System0&%textBackgroundColor0!t0&%controlTextColor00&0 0&%common_SliderHoriz\&&&&&&&&&&&&&&%%0% B C C  C C&P &P% A @ C΀ C A C΀ C&P &P1. GSCustomViewP&%PQFontSampleView A C΀ C&P! >~ ?P$% @ @ A C  A C&P &%PP &\&&&&&&&&&&&&&&&% A A A A P P &%Box\&&&&&&&&&&&&&& %%P P & % common_DimpleP!tP&%SystemP&%controlBackgroundColorP!tP&%controlShadowColor%AP!tP&%windowBackgroundColorP&%WindowP& % Font Manager D CH F@ F@%&  D D@PP& % PQController  &PP&%PQSampleController  &P &NP &NP1/NSMutableDictionary10 NSDictionary&JP& % MenuItem(235)=P& % MenuItem(44)3P & % MenuItem(195)P! P"& % Paste FontP#&%4&&% %P$& % MenuItem(105)HP%&%Menu(23)9P&&%NSServicesMenuFP'& % MenuItem(150)P( P)& % Save To...&&% %P*& % MenuItem(78)*P+& % MenuItem(224)P,& % Button(0)P-& % MenuItem(139)6P.& % MenuItem(33)P/& % MenuItem(184)P0 P1&%ItalicP2&%i&&% %P3&%Menu(12)9P4& % MenuItem(67)P5& % MenuItem(213)*P6& % MenuItem(128)P7& % MenuItem(22)0P8&%Menu(46)P9& % MenuItem(173)P:&%Menu(6)P;& % ClipView(0)P<& % MenuItem(56)P=&%TableColumn(2)P>P?&%actions BT A GPP@r&&&&&&&&&&&&&&%PA!tPB&%SystemPC&%controlShadowColorPD!tBPE&%windowFrameTextColorPF PG&%0\G&&&&&&&&&&&&&&%PH& % MenuItem(202)KPI& % MenuItem(117) PJ& % MenuItem(11)PK PL&%NewPM&%n&&% %PN&%Menu(35)FPO&%View(1)VPP& % MenuItem(162)HPQ& % MenuItem(2)HPR& % MenuItem(236)@PS& % MenuItem(45)6PT& % MenuItem(196)6PU& % MenuItem(90)PV& % MenuItem(106)KPW&%Menu(24)PX& % MenuItem(151) PY& % MenuItem(79)-PZ& % MenuItem(225)P[& % Button(1)P\& % MenuItem(34)P]& % MenuItem(185)P^ P_&%BoldP`&%b&&% %Pa&%Menu(13)FPb& % MenuItem(140)=Pc& % MenuItem(68)Pd& % CustomView(0)Pe&%PQController(0)Pf& % NSWindowsMenu9Pg& % MenuItem(214)-Ph& % MenuItem(129)Pi& % MenuItem(23)6Pj&%Menu(47)%Pk& % MenuItem(174)Pl&%Box(0)TPm&%Menu(7)%Pn& % MenuItem(57)Po Pp&%Revert To Saved&&% %Pq&%TableColumn(3)nPr& % MenuItem(203)CPs& % MenuItem(118)-Pt& % MenuItem(12)Pu Pv&%Save...Pw&%s&&% %Px&%Menu(36)Py&%View(2)Pz& % MenuItem(163)KP{& % MenuItem(3)KP|& % MenuItem(237)CP}& % MenuItem(46);P~& % MenuItem(91)P& % MenuItem(197);P& % MenuItem(107)P&%Menu(25)P&%NSFontP& % MenuItem(152)"P& % MenuItem(226)P& % TextField(0)P& % MenuItem(35)KP& % Button(2)XP&%PQSampleController(0)P& % MenuItem(186)P P&%HeavierP&%h&&% %P& % MenuItem(80)0P&%Menu(14)P& % MenuItem(141)CP& % MenuItem(69)P& % MenuItem(215)3P& % MenuItem(24);P&%Menu(48)9P& % MenuItem(175)P&%Box(1)P&%Menu(8)9P& % MenuItem(130)KP& % MenuItem(58)"P&%TableColumn(4)PP&%column2 BT A GPPP&% r&&&&&&&&&&&&&&%ADP P&%nine\&&&&&&&&&&&&&&%{~P& % MenuItem(204)HP& % MenuItem(119)0P& % MenuItem(13)P P& % Save As...P&%S&&% %P&%Menu(37)%P&%View(3)P& % MenuItem(164)'P& % MenuItem(4)HP& % MenuItem(238)HP& % MenuItem(47)=P& % MenuItem(92)"P& % MenuItem(198)=P&%Menu(26)%P& % MenuItem(108)P& % MenuItem(153)'P& % ComboBox(0)P& % MenuItem(227) P& % MenuItem(36)uP& % Button(3)_P& % MenuItem(187)P P&%LighterP&%g&&% %P& % MenuItem(81)3P&%Menu(15)%P& % MenuItem(142)HP& % MenuItem(216)6P& % MenuItem(25)=P&%Menu(49)FP& % MenuItem(176) P& % MenuItem(70)P&%Box(2)P±& % MenuItem(131)uPñ&%Menu(9)FPı& % MenuItem(59)'Pű& % MenuItem(205)KPƱ& % MenuItem(14)(PDZ&%Menu(38)9Pȱ& % MenuItem(165)*Pɱ& % MenuItem(5)Pʱ& % MenuItem(239)KP˱& % MenuItem(120)3P̱& % MenuItem(48)CPͱ& % MenuItem(199)@Pα& % MenuItem(93)uPϱ&%Menu(27)9Pб& % MenuItem(109)Pѱ& % MenuItem(154)*Pұ& % ComboBox(1)Pӱ& % MenuItem(228)"PԱ& % MenuItem(37)Pձ& % MenuItem(188)Pֱ Pױ&%LargerPر&%l&&% %Pٱ& % MenuItem(82)6Pڱ&%Menu(16)9P۱& % MenuItem(143)KPܱ& % MenuItem(217);Pݱ& % MenuItem(26)@Pޱ& % MenuItem(177)"P߱& % MenuItem(71)KP& % MenuItem(132)P& % MenuItem(206)P&%Menu(39)FP& % MenuItem(15)P P&%Save All&&% %P& % MenuItem(166)-P& % MenuItem(60)0P& % MenuItem(6)P& % MenuItem(121)6P& % MenuItem(49)HP& % ColorWell(0)P& % My WindowNP& % MenuItem(94)P&%Menu(28)FP& % MenuItem(155)-P& % MenuItem(229)'P& % MenuItem(110)P& % MenuItem(38)P& % MenuItem(189)P P&%SmallerP&%s&&% %P& % MenuItem(83)=P&%Menu(17)P& % MenuItem(144)P& % MenuItem(218)=P& % MenuItem(27)CP& % MenuItem(178)'P& % MenuItem(72)P& % MenuItem(133)(P& % MenuItem(207)P& % MenuItem(16)oP& % MenuItem(61)3P& % MenuItem(167)3P& % ScrollView(0)P&%NSOwnerP& % NSApplicationP& % MenuItem(7)P& % TableView(0)iP& % MenuItem(122)=P &%Menu(40)P & % ColorWell(1)P & % MenuItem(95)(P &%Menu(29)P &%Menu(0)P& % MenuItem(156)3P& % MenuItem(50)P& % MenuItem(111)P& % MenuItem(39)P&%OutlineView(0)P& % MenuItem(84)CP&%Menu(18)%P& % MenuItem(230)*P& % MenuItem(145)P&%NSMenuP& % MenuItem(190)P P& % UnderlineP&&&% %P& % MenuItem(100)0P& % MenuItem(219)@P& % MenuItem(28)3P& % MenuItem(179)*P & % MenuItem(73)P!& % MenuItem(134)oP"& % MenuItem(208)P#& % MenuItem(17) P$& % MenuItem(62);P%& % MenuItem(168)6P&& % ScrollView(1)P'& % MenuItem(8)P(& % MenuItem(123)CP)&%Menu(41)P*& % MenuItem(96)oP+&%Menu(1)P,& % MenuItem(157)6P-& % MenuItem(51)P.& % MenuItem(112)KP/&%Menu(30)P0& % MenuItem(85)HP1&%Menu(19)9P2& % MenuItem(231)-P3& % MenuItem(146)P4& % MenuItem(40)"P5& % MenuItem(191)P6 P7& % Superscript&&% %P8& % Scroller(0)P9$% A C Cɀ A  Cɀ A&P: &%P; \&&&&&&&&&&&&&&&P<& % MenuItem(101)3P=& % MenuItem(29)P>& % MenuItem(74) P?& % MenuItem(220)CP@& % MenuItem(135) PA& % MenuItem(180)-PB& % MenuItem(209)PC& % MenuItem(18)"PD& % MenuItem(169);PE& % ScrollView(2)ePF& % MenuItem(63)=PG& % MenuItem(9)PH& % MenuItem(124)HPI&%Menu(42)%PJ& % MenuItem(97) PK&%Menu(2)%PL& % MenuItem(158);PM& % MenuItem(52)PN&%Menu(31)PO& % MenuItem(113)uPP& % MenuItem(86)KPQ& % MenuItem(232)3PR& % MenuItem(147)PS& % MenuItem(41)'PT& % MenuItem(192)PU PV& % Subscript&&% %PW& % Scroller(1)PX&%Menu(20)PY& % MenuItem(102)6PZ& % MenuItem(75)oP[& % MenuItem(221)HP\& % MenuItem(136)-P]& % MenuItem(30)P^& % MenuItem(181)3P_& % MenuItem(19)'P`& % MenuItem(64)CPa& % MenuItem(210) Pb&%Menu(43)9Pc& % MenuItem(125)KPd& % MenuItem(170)=Pe& % MenuItem(98)'Pf&%Menu(3)9Pg& % MenuItem(159)=Ph& % MenuItem(53)KPi&%Menu(32)%Pj& % MenuItem(114)Pk& % SplitView(0)RPl& % MenuItem(87)Pm& % MenuItem(233)6Pn& % MenuItem(148)uPo& % MenuItem(42)*Pp& % MenuItem(193)Pq Pr&%Unscript&&% %Ps& % MenuItem(103)=Pt&%Menu(21)9Pu& % MenuItem(76) Pv& % MenuItem(222)KPw& % MenuItem(31)Px& % MenuItem(137)0Py& % Slider(0)Pz& % MenuItem(182)P{ P|&%Font&&% %P}|P~ &  P P& % Font PanelP&%t&&% %0^6UqP P& % Copy FontP&%3&&% %!P&%Menu(10)P& % MenuItem(65)HP& % MenuItem(211)"P& % MenuItem(20)*P&%Menu(44)FP& % MenuItem(126)P& % MenuItem(171)@P& % MenuItem(99)-P&%Menu(4)FP& % MenuItem(54)uP&%TableColumn(0)P& % MenuItem(200)CP& % MenuItem(115)(P&%Menu(33)}P& % MenuItem(160)@P& % MenuItem(88)P& % MenuItem(0)HP& % MenuItem(234);P& % MenuItem(149)P& % MenuItem(43)0P& % MenuItem(194)P& % MenuItem(104)CP&%Menu(22)P& % MenuItem(77)'P& % MenuItem(223)P& % MenuItem(32)P& % MenuItem(138)3P& % MenuItem(183)P&%Menu(11)P& % MenuItem(66)P& % MenuItem(212)'P& % MenuItem(127)P& % MenuItem(21)-P&%Menu(45)P& % MenuItem(172)P&%Menu(5)P& % MenuItem(55)P&%TableColumn(1)PP&%outlets BT A GPPr&&&&&&&&&&&&&&%ADP G\G&&&&&&&&&&&&&&%P& % MenuItem(201)HP& % MenuItem(116)oP& % MenuItem(10)P&%Menu(34)9P&%View(0)PP& % MenuItem(161)CP& % MenuItem(89)P& % MenuItem(1)KP &xxP11NSNibConnectorP&%NSOwnerP1P1P1P12NSNibControlConnectorP&%NSFirstP&%hide:P1P2P±& % terminate:Pñ1lkPı1OlPű1kPƱ1yPDZ1kPȱ1Pɱ1kPʱ1dP˱1P̱1Pͱ1Pα1 Pϱ1yPб1Pѱ1;Pұ18Pӱ28PԱ& % _doScroll:Pձ1WPֱ2WPױ& % _doScroll:Pر1,yPٱ1[yPڱ1OP۱1OPܱ1yPݱ1ePޱ1P13NSNibOutletConnectorP & % dataSourceP3P &%delegateP3P3P3dP& % dataSourceP2yP& % changeSize:P2P&%changeSampleText:P2P2 P& % changeColor:P2P3eP&%fontsInfoFieldP3yP& % sizeSliderP3dP& % sampleViewP3P& % sampleFieldP3P&%foregroundColorWellP3 P&%backgroundColorWellP3P& % sizeFieldP3eP&%sampleControllerP3eP &%delegateP1P1P1P2P&%orderFrontStandardInfoPanel:P1P1=P2=P &%orderFrontHelpPanel:P 2P &%submenuAction:P 1GP 1GP1P2P& % openDocument:P1uP2uP&%close:P2GP&%submenuAction:P1P1iP1iP2P&%cut:P1iP2P&%copy:P1iP2P &%paste:P!1iP"2P#& % selectAll:P$2P%&%submenuAction:P&1mP'1mP(1P)2P*&%arrangeInFront:P+1sP,2sP-&%performMiniaturize:P.1P/2P0& % performClose:P12mP2&%submenuAction:P31P41P52P6&%submenuAction:P71iP82P9&%orderFrontColorPanel:P:3ekP;& % splitViewP<3eP=&%fontsBoxP>3elP?& % groupsBoxP@3ePA& % sampleBoxPB3ePC&%windowPD3PE &%initialFirstResponderPF3PG & % nextKeyViewPH3GPI3dGPJ3yGPK3 GPL3GPM1PN1EOPO1EPP1qPQ1PR3ePS & % groupListPT3ePU &%delegatePV3ePW & % dataSourcePX1&yPY1&PZ1P[1P\1=P]3eWP^3eUP_3eP` &%fontListPa/&FontManager-master/English.lproj/MainMenu.nib/000077500000000000000000000000001205612570300215475ustar00rootroot00000000000000FontManager-master/English.lproj/MainMenu.nib/classes.nib000066400000000000000000000025611205612570300237020ustar00rootroot00000000000000{ IBClasses = ( {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, {CLASS = NSObject; LANGUAGE = ObjC; }, { CLASS = PQController; LANGUAGE = ObjC; OUTLETS = { fontList = NSOutlineView; fontsBox = NSBox; fontsInfoField = NSTextField; groupList = NSTableView; groupsBox = NSBox; sampleBox = NSBox; sampleController = PQSampleController; splitView = NSSplitView; window = NSWindow; }; SUPERCLASS = NSObject; }, { CLASS = PQFontSampleView; LANGUAGE = ObjC; OUTLETS = {dataSource = id; }; SUPERCLASS = NSView; }, { ACTIONS = {changeColor = id; changeSampleText = id; changeSize = id; }; CLASS = PQSampleController; LANGUAGE = ObjC; OUTLETS = { backgroundColorWell = NSColorWell; foregroundColorWell = NSColorWell; sampleField = NSComboBox; sampleView = id; sizeField = NSComboBox; sizeSlider = NSSlider; }; SUPERCLASS = NSObject; } ); IBVersion = 1; }FontManager-master/English.lproj/MainMenu.nib/info.nib000066400000000000000000000011121205612570300231670ustar00rootroot00000000000000 IBDocumentLocation 125 31 356 240 0 0 1024 746 IBEditorPositions 29 59 435 306 44 0 0 1024 746 IBFramework Version 364.0 IBOpenObjects 29 21 IBSystem Version 7W98 FontManager-master/English.lproj/MainMenu.nib/keyedobjects.nib000066400000000000000000000521421205612570300247200ustar00rootroot00000000000000bplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver ]IB.objectdata +/3:=?D\]^_ahlv{ $*-013568;?ADEGKLOWXY\aXbdefinoXX    "*/0<= E FINQTUWX[^ahkmqrux| E WXX?EU[\]bcdhjknptwyz|  !"#%(*+,/123689:=BEFGHKNOGPSVWGX[_`Gadghijmpqrswyz{~zzzz #&'(*+,-.]]134789<=ABDEFGHJMNOQTUVX[[\^_adefhiGlmoqsmF`:m&`OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Q8^U$null  !"#$%&'()*[NSNamesKeys[NSFramework_NSObjectsValues]NSNamesValues]NSConnections]NSFontManagerVNSRootYNSNextOid_NSVisibleWindows]NSObjectsKeys]NSClassesKeysZNSOidsKeys\NSOidsValuesV$class_NSClassesValues! "bށEGHF,-.[NSClassName012YNS.string]NSApplication4567X$classesZ$classname789_NSMutableStringXNSStringXNSObject45;<<9^NSCustomObject0>2_IBCocoaFramework@ACZNS.objectsBEFGHIJKLMNOPQRSTUVWXYZ[_NSWindowStyleMask_NSWindowBackingYNSMinSize]NSWindowTitle]NSWindowClass\NSWindowRect\NSScreenRectYNSMaxSize\NSWindowViewYNSWTFlags[NSViewClass p( _{{48, 244}, {800, 480}}\Font ManagerXNSWindow0`2TViewbcde!fgZNSSubviews_NSNextResponderWNSFrameY@ikj9bcmnopqXrXstu[NSFrameSize[NSSuperview\NSIsVerticalXNSvFlags @wkxyzbbcmn|}~pjj\NSBorderType_NSTitlePosition[NSTitleCellYNSOffsets]NSTransparent]NSContentViewYNSBoxTypeZ\[a@kbcmnxxgX@kLTbcndpt]NSNextKeyView\NSCornerView_NSHeaderClipView[NSHScrollerXNSsFlags[NSVScroller\NSScrollAmtsJEAKOA A AA@kbcndpYNSBGColorYNSDocViewYNScvFlags2? @@kmcns[NSRowHeight\NSHeaderView^NSTableColumns_NSIntercellSpacingWidth_NSIntercellSpacingHeight[NSGridColorYNSEnabledYNSTvFlags_NSBackgroundColor"A""@@"@;@>:Z{127, 401}mcnp[NSTableViewbcndpHIY{127, 17}45פ9_NSTableHeaderViewVNSView[NSRespondercndp܀ !_{{128, 0}, {16, 17}}459]_NSCornerView@k#s\NSHeaderCellZNSMinWidthWNSWidth^NSIsResizeableZNSDataCellZNSMaxWidth$"B "B0"Dz8[NSTextColorYNSSupportZNSContents[NSCellFlags\NSCellFlags2+&%/)VGroupsVNSSizeVNSNameXNSfFlags"A0'(\LucidaGrande45   9VNSFont  WNSWhite\NSColorSpaceK0.33333299*459WNSColor [NSColorName]NSCatalogName.-,VSystem_headerTextColor  B045  !"#9_NSTableHeaderCell_NSTextFieldCell\NSActionCellVNSCell%&'()]NSControlView517!@+,"AP ./43_controlBackgroundColor  2K0.66666669 46_controlTextColor457!!"#9459::9]NSTableColumn45<==>9^NSMutableArrayWNSArray  @B1 BC=??@.sA.tBCD`W{13, 0}@GkHJ6KLsM\NSIdentifierO7PRS"A@  2%&s'6(V1@_tableViewAction:45YZZIJ9_NSComboTableView45\]]!"#9^NSComboBoxCell45_``J9ZNSComboBoxcnbdpcsdeskfg\NSIsBordered[NSDragTypes@iCj0l2_NSColor pasteboard type45noop9\NSMutableSetUNSSet_{{0, 45}, {42, 21}}s t^UNSRGBF0 0 045vwwJ9[NSColorWellcnbdpcsyzskf{@}C~0l2_{{50, 45}, {42, 21}}s ^F1 1 1cn+dp#!s-!_{{394, 42}, {72, 26}}12+%345&ss!'''9s:; 02mcnP3p^RsAtB€@kJsŀĀO  2%&s'(Vcndp#sʀЀ_{{98, 44}, {290, 21}}%^(_NSAllowsTickMarkValuesOnly_NSTickMarkPosition]NSAltIncValue_NSNumberOfTickMarksZNSMaxValueWNSValueZNSMinValueZNSVertical#̀#@r#@8#@02RSYHelvetica45"#9\NSSliderCell45J9XNSSliderbcndptҀӀR@kbcndp))ԀՀ@kmcnp,Q[NSExtension؀րـZ{446, 390}_PQFontSampleView45ؤ9\NSCustomView_{{1, 1}, {446, 388}}cnPdpQR)))sTZNSCurValue"?"?~_{{447, 1}, {15, 388}}cnPdpQR)))^T"?mc_{{-100, -100}, {446, 15}}_{{0, 74}, {463, 390}}Z{479, 480}_{{323, 0}, {479, 480}}(~  Z{802, 480}459[NSSplitView_{{1, 9}, {800, 480}}_{{0, 0}, {1024, 746}}Z{600, 222}_{3.40282e+38, 3.40282e+38}459_NSWindowTemplate@kE      !"#$%&'()*+,-./0123456789:;<=> %+05:?DINSW[_ejoty~ÁŁǁɁˁ́Ӂ؁ځ@ABCDWNSLabelXNSSourceFGHIJKLMNOPQRSTVNSMenu]NSMnemonicLocWNSTitleYNSOnImageZNSKeyEquiv\NSMixedImage_NSKeyEquivModMaskHVWXYZ[NSMenuItemsXMinimizeQm^,_`a^NSResourceNameWNSImage_NSMenuCheckmark45effg9_NSCustomResource_%NSCustomResource^,i`a_NSMenuMixedState45lmm9ZNSMenuItem0o2_performMiniaturize:45qrrs9_NSNibControlConnector^NSNibConnector@AuCvFGHIJKLMNxPyRST_Bring All to Front0{2_arrangeInFront:@A}C~FGHIJKLNPRSTHVY_NewApplication HelpQ?02YshowHelp:@A"C]NSDestination  FGHIJKLNPRST   HVY_Quit Font ManagerQq02Zterminate:@A"CFGHIJKNPyRS_About Font Manager02_orderFrontStandardAboutPanel:@A"CFGHIJKLNPRS[Hide OthersQh_hideOtherApplications:@A"CFGHIJKLNPRST_Hide Font ManagerUhide:@A"CFGHIJKLNPyRSTXShow All_unhideAllApplications:@AC$!FGHIJKLNPyRST"#HVYÁ_Check Spelling as You Type_toggleContinuousSpellChecking:@ACȁ*&FGHIJKLNPRST'()HVYρTUndoQz02Uundo:@ACց/,FGHIJKLNPRST-.TCopyQc02Ucopy:@AC41FGHIJKLNPRST23^Check SpellingQ;02^checkSpelling:@AC96FGHIJKLNPRST78UPasteQv02Vpaste:@AC>;FGHIJKLNPyRST<=HVY]Stop Speaking]stopSpeaking:@ACC@FGHIJKLNPRSTABSCutQx02Tcut:@AC HEFGHIJKLN P RSTFGiSpelling &Q:02_showGuessPanel:@ACMJFGHIJKLNPRSTKLTRedoQZ02Uredo:@ACROFGHIJKLNP RSTPQZSelect AllQa0$2ZselectAll:@A&C'VTFGHIJKLN)PyRSTU^Start Speaking^startSpeaking:@A-C.ZXFGHIJKLN0PyRSTYVDeleteWdelete:@A4C5^\FGHIJKLMN7PyRST]TZoom\performZoom:@A;C<d`FGHIJK>L?N@PARS^TUNSTagabcHVCYD  eFind &Qf_performFindPanelAction:@AICJifFGHIJK>L?NLPMRSQTghYFind NextQg@AQCRnkFGHIJK>L?NTPURSTlm]Find PreviousQG@AYCZspFGHIJK>L?N\P]RS^Tqr_Use Selection for FindQe@AbCcxuFGHIJKL?NePfRSTvw_Jump to SelectionQj_centerSelectionInVisibleArea:@AkCl}zFGHIJKLNnPoRS{|_Paste and Match StyleQV_pasteAsPlainText:@AtuvɁ,-x_PQSampleControllerZdataSource45|}}s9_NSNibOutletConnector@AvtZsampleView@A'vtYsizeField@A(vtZsizeSlider@A%vt_foregroundColorWell@A&vt_backgroundColorWell@Av,-\PQController^fontsInfoField@AvYgroupList@AvXfontList@Atv_sampleController@Av@AvXdelegate@Av@Av@AvB@Atv'@Atv'@AtC'[changeSize:@AtC(@AtC&\changeColor:@AtC%@AtC$_changeSampleText:@AjvYsplitView@AxvYgroupsBox@AyvXfontsBox@AzvYsampleBox@Avj@ABvVwindow@A$vB_initialFirstResponder@A$v'[nextKeyView@A'v$@A$v(@A$v&@A$v%@A$vɁ@A$v@A$v@ACҁFGHIJKLNPRSTρЁHVYeOpen &Qo]openDocument:@ACׁFGHIJKLNPRSTՁUCloseQw]performClose:@A$vt[sampleField@Atv$@Atv$@U%~&yt'$DzM5j cv'J <Z . B l?X xR()߁ FGHIJKLR NPyRSTYNSSubmenuHVYTFile^submenuAction:02@k45FF9FGHI!JK"LNyPsyRSsT\NSIsDisabled]NSIsSeparatorFGHIJKLR NM$PyRST%VWindow0&2@)kD5 vFGHI!JK"LMNyPsyRSsT^_NSWindowsMenuFGHI!JK"LNyPsyRSsTFGHI!JK"LNyPsyRSsTFGHIJKLR N/PyRST0@2k  FGHI!JK"LNyPsyRSsTFGHIJKLN5P6RSTlPreferences &Q,FGHIJKLRN:PyRST;XServicesHV>?Y@0<2@Ck__NSServicesMenuFGHI!JK"LNyPsyRSsT\_NSAppleMenuXSpelling@Ik FGHIJKLR NKPyRSTLTHelp0M2@Pk~FGHIJKLRN?RPyRSTS  TFind0T2@Wk<JRZcFGHIJKLRNYPyRSTZVSpeech@]k'XMainMenu@`kFGHIJKLR NbPyRSTcTEdit0d2@gkl. FGHI!JK"LNyPsyRSsTFGHIJKLRNjPyRSTk[_NSMainMenu45n>>9@pU j" M  xjM Xz?)M y?"?"?M"B j?@r#y   ("'t~ &xB%$z@t#uvwxyz{|}~z#$%&'()*+,-./0123456789:;<=>?@ABCD^NSTableColumn1VNSBox102Q202[NSMenuItem1]NSScrollView3YNSSlider202\File's Owner[NSMenuItem2[NSComboBox1_SampleControllerS121TMenu]NSScrollView102Q1R21_NSTextField111111ZControllerT1111VNSBox2@C@C@(y tl/1~%7' %#"J0& D  > -'8+ Z5!:MX.z (j?,26.* v;'c)3 &<=5 4)B$x<9"R $@      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÁāŁƁǁȁɁʁˁ́́΁ρЁсҁӁԁՁցׁ؁فځہ܁݁ށ߁z  P:<o.H'  :'$; La8%I6\#]9"3K7BG58^24D91_`FE%-Xgj!J 459^NSIBObjectData#,1:LQVdf4:y %,>ACFIKMORTWZ]`cfo{}#,7:<>o            7 D M V [ l w     G T f r | ) 7 D W c l x        W c p      , 8 : = ? h j l v    .;FN]hsuz "')+-:CHO\dq} /<C`nprty!&4=DS[hk#,6?ACHJcpy(5RTVXZq%')+-68;@BSXZ[do|#,3:WY[]avx  !#%.79;=?xz|~!:<egis/8GUm4QSUk.0246Mnprw!.cegikmvy>Vju%(*O\^`b  /8GRw%0<acegpsu~ ' ) + - 6 }  ! !*!,!.!0!H!!!!!!!!"" " " """!"*"/"8"I"K"U"^"g"t"}"""""""""""#### # ###5#A#C#E#G#I#T#g#p#y#########$$$#$%$A$Y$d$}$$$$$$$$$%%%+%4%9%L%U%%%%%%%%%%%&&&& & &&&&&&&"&%&(&+&.&1&4&7&:&=&@&C&F&I&L&O&R&U&X&[&^&a&d&g&j&m&p&s&v&y&|&&&&&&&&&&&&&&&&&&&&&&&&&' '''&'3'G'I'N'P'R'T'V'X']'n'z'}'''''''''''''''((((&(/(4(?(H(^(g(n(((((((((()) ))/)2)5)8)E)H)K)a)c)l)v)))))))))))))))* *** *=*@*U*^*~*************+ +#+&+:+@+Q+T+W+x+{+++++++++++,,(,5,8,;,\,_,b,e,r,u,x,},,,,,,,,,,,,,,,,----'-)-2-A-N-Q-T-u-x-{---------------. . ..0.3.6.:.<.E.J.W.Z.].~.............../////8/;/>/I/K/T/_/l/o/r///////////00 0 0.01060C0P0S0V0{00000000000000011 1111!1F1I1L1Z1\1i1l1o111111111111222'24272:2[2^2a2y2{2222222222223 333,3/393J3M3X3i3l33333333333334 444&474:4M4^4a4r4u4~4444444444445555'5*575H5K5\5_5s555555555555556666*6-6E6V6Y6e6v6y6666666666666777%7(7+7.7;7>7A7L7N7\7i7l7o777777777777778888888888888888888889999909396999>9M9V9_9d9m9r999999999::0:?:h::::::; ;*;-;0;I;K;t;w;z;;;;;;;;;;;<< <<:<=<@>>>?9?CACDCGCJCMCPCSCVCYC\C_CbCeChCkCnCqCtCwCzC}CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDD D DDDDDDD"D%D(D+D.D1D4D7D:D=D@DCDFDIDLDODRDUDXD[D^DaDdDgDjDmDpDsDvDyD|DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEE E EEEEEEEE!E#E%E(E+E-E0E2E5E7E:E=E?EAEDEFEIELEOEQESEUEWEYE\E^E`EbEdEgEiEkEmEpErEtEvExEzE|EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFF F FFFFFFFF F#F&F(F+F.F0F3F5F7F9F;F=F?FBFEFHFJFLFOFQFSF\FaFpFontManager-master/FontManager.icns000066400000000000000000001453641205612570300176450ustar00rootroot00000000000000icnsics#H?>?>is32j޴Wۤޔ̞قŨ᪨܈ټ»Qy&sUtow|sroIhfUJF4<d޴Wܤޕ͞قƩ⫩܈ڼû>QysUtow|sroIifUJF4< W߫ߚϣƷۃʮ㮫ފĽQ}&sUtox|sroIjiUJF4<s8mk/?o/O0A@BAI?-˱qP1 ICN#????????????????????il32h C 1ʁd ȷUӌͻUƀ׹ĶƪٛմԹ瑖|ڱɪୣxñۨlߩަK楞XЭ뤢ERϫ—nVߩЕdާūȬӭȶ~y}Q~}t|szltWeS|cv`UwvhhXRQAQgg^UQSOKO p|ok_QQKJ=:3Q0" JI72&#  غyS3' it32]  tfu $hp B\ ?\; >\P \W \\ \\ U\ UU TʀـTt Lt Lh NtϕeN\ Nhτق\h<\ <\ڂ\t=\:\ ѳe\՞\K>\e\ntt͂X \ۀoπUz \䒌Rt \эăʼLb U荼ʻJ\ U荼 ͺ<\ T׺4\ ĬLttֹ\ ¸:Nt΂ڸX¬ݣxNh߁䶶Uz ƫ}<\㵵Rt öʃ巩ޯd:\紴Lb ͹̀Ղe\m>\Ѓ{J\ ԳށڬЀr\˂򳲱u<\農鋁\̀㫦\ t 4\α ko\\  \٩؀ڰ yjxՀ⽂SU W߃\΁xeálUˁî Us gq\Á򫪪\ ȡ}Rzç ϭPs fx׀`֠Lte׀x\aά M\ij{eց `۠Nteeaŵҫ F\Գe iӂLb\aۂߪ <\Բeք e<\gցީ (\Ӳ eՁ񿨨:\⨧\ۀe ̨ʂH4\ɃlW 㱱 ѧȂŝh\iUr ﱰ ާŜv\瘝fPm ⦦؜XM\󼯯 ؀U F\ U <\Ԃ̮˂ 웚RwȠ \Юԁ Lq܀ ǟ\Áܭɣ%VNq˞ U୬ң$™^Laۂڝ Uqܢ$ǘv<\ȂٜMl墡֘y<\㛛 M\񸫪 ۗ 4\[ B\̀񼪪 \W<\ɪ ʂ\` \ͩ ҂Ѐ굕XĂἡx\ߩ Ɵ!ʹQU؁ֿvUހ ϟޒVUxUp 跞ΒxRs؃ȾMf̃ ĥ)ƫd\\tJnȿw\bM\݂ ǵm\fiswLn{\_jjmxwz B\ˁƳȶr\cjqx-K\=\р̀ȿw\{.<\\w\ `lp{0;\\сɥ\`lp}-Q&\MUyހʮ\ m -N\OUoe\nn ,o\WLeo} +lW|mN\  ~U|j<\ |U{o=\ Pk}\ Lk{\  KNk~Us  UD\Un k9\L` o8\J\ {"\K<\ ~\G 4\  \P\  WviX  HTviUr  4Tu|DRm  ysmgZOh |sspggd\ L`  ysmga\DKh |sspggd\HJ\ ~tqhe\X N\vsg\X<\ vrhe\UN5F\XOOJ?@;4\ wwii\UOG@4&:\ XOOJ??;'(\ }yjj\XOJ?;()Y\O??;'(Xy ~zok_\XOJ?:(+)U`|tk_\OO??((R\OO??((L\QOC@-& ;\UOC@-& (*   t f u $hp B\?\;>\P\W\\\\ U\ UU TˀڀTt Lt Lh NtϕeN\ NhІق\h<\ <\ۄ\t=\ :\ ѳe\՞\ K>\e\ntt̓X \oσUz  \䒌Rt \эŀ˽Lb U鍽˼J\ U荽λ<\ Tغ4\  ĭLtt ׹\ ù:NtڸX íݤ{Nh巷Uzƀ}<\܂䶶Rt÷帪ޯd:\絵Lb ιΩe\m>\{J\ մ߄ۭтs\ x<\鿲ꋁ\́䬧ނ\ t 4\ϱ ko\˂\  \́٩ق۰yjx⽀ 𶢢SU W\ xeՃĢlU˅į Ut gq\\ɡ}RzׂçЮPt fx׀`סLte׀x\aϭ M\ Ĵ{e򪪩`۠NteeaẃӬ F\ρԴe׃򮩩 iԀLb\a߫ <\Գeր e<\gׂߩ (\Գe ݂:\㨨\ܲeͨʁ%H4\ɂ𧧦nW㲱 Ѩɀ Ɲh\iUsﱱ ާŝv\fPm 㧦ٜX M\ ٜUF\΂ 𥲀훛Uﺢ<\Ԁͯ ˀ 𸥤Rwȡ\Ѯ Lq݂Ǡ\ݮ ʤɂ$VNqʂ̟Uိ ‚ӣÙ^LaۂڞUq ܣǘv<\ɀ ٝMl 墢 ט y<\㜛M\ ܀ 4\ǃ^ B\͂\W<\ɂ ʫʁ 뜖\ ` \ͪӀ Xŀ⽡x \ ߪǟ ڃ#ʺQUvU ߩП ߒVUxUp 鷞ϒxRsـȿMf 𨨧́ Ħ)Ǭd\\tJnw\b M\ 칛ǵm\fiswLn{\_jjmxx{ B\ ƴȶr\8cjqxK\=\҅Τȿw\{6<\\w\ `lp{8;\\ʥ\`mq} &Q&\MUy߀˯\m &N\OUoe\ nn %p\WLeo} "lW}mN\  "~U|j<\ |U{o=\ Pk}\ Lk{\ KNk~Us UD\ Un k9\ L` o8\ J\ {"\K <\ ~\G 4\  \P \  WviX  HTvi Ur  4Tu|DRm  ysmgZOh |sspggd\ L` ysmga\DKh |sspggd\HJ\ ~tqhe\X N\vsg\X<\ vrhe\UN5F\XOOJ?@;4\ wwii\UOG@4&:\ XOOJ??;'(\ }yjj\XOJ?;()Y\O??;'(Xy~zok_\XOJ?:(+)U`|tl`\OO??((R\OO??((L\QOC@-& ;\UOC@-& (*ÀŽŋĽ t—õāp¡­āÈw$i•pB\Ƒ?\Ɛ;>\P\W \\ \\U\UUTƀҀ߀ƺTv%Lv ƻLi&NvЖeƹN\(Niցق\i<\)<\\vƏ=\*:\ Ѵe\֤Ɛ\#K>\ƨe\ovvуX#\ƲۀoԁœU}\嗌ɁĉRv\э˃äLb Uȃ©J\ U<\Ā,T4\Ā-ȲLvv\5ƽ:NvςX)ȳߨ~Ni翿U}˱<\߂羾Rvʿ罰߰e:\꽼Lb рրe\n>\~J\ ٻݲs\ {<\ź닁\΁屬\ y 4\ӸƂ lq\͂\ Ƿ \٩ق޷Ɓ{kx係SU ƶ W\ zeօǦoUхɵ Uv hs\ \˥R}Ś؂ĨӴPv gx؀ `٥Lvĩe؀x\aӳ M\Ǽ~e󰯯`ÃޤNv›eebzֱ͂ F\ ٻe׃󴯮jՂ𣣢Lb\bހ ᰰ <\غe׀e𣢢<\hᯮ (\غeĮ :\宭\Â߹eЭ ˂$H4\̃nW湸ԭ ʂȡh\l Uu 񸸷ଫȠx\ 񯪩f Pn䫫 ۠X M\·۟U F\΂ƶU <\րѵ̂Rz˥ \Երĩ܁Lsހ ʤ \ഴͨ%YNs΢U䴳łը$śaLaނܡUsﳲާ$ʛx<\ʂܠMm󲲱禦$ٚ}<\埞 M\$ݚ4\ɀ^ B\΂± \W <\˂Ͱ ˂\b \Ѱ Ԃ ҂Xǃ侣x\ᯮ ɣڃ!̻QUۃxUᮮ€ ңVUxUr 꺡ГxRuۄMgτ ƨك*ȭe\\uJow\b M\߁񾬬 ȶn\fjtwLo|\_kjnyx| B\̀ʸɷs\8ckryK\ =\Ѩw\A|<\\w\I`mq};\\ՁX˦\`mrS&\M U{˯\!n.N\OUqe\(oo-p\W'Lfp7nW~m&N\7~U~j<\A|U}o=\@Pl} \@Ll{ \.KNk~ Uu.UD\:Uok9\9L`o8\8J\{"\K<\&~\G+4\ \P\ WwiX HTviUs 4Tu|DRn ysmgZOh |sspggd\ L`0ysmga\DKh |sspggd\HJ\)~tqhe\X N\vsg\X(<\vsie\UN5F\XOOJ?@; 4\xxjj\UOG@4&:\ XOOJ??;'(\~zkj\XOJ?;()Y\O??;'(X{|pk_\XOJ?:(+)U`~ul`\OO??((R\OO??((L\QOC@-& ;\UOC@-& (*t8mk@?/??_??o@@P/?oFFU/?o @`{!@` BQI#  FUMTV Y+ Z@|#O Q } M O     ]  \ [ [#" ZCO#U`Y      ] N#'U f  \  [ ZY  #[  ]\  N #:Y v  w  \ \&  ? [( ? N\ ] #^ yd w  \  3& P & a ( \* \- Nd k!$i \&w 3+Ug& ( "*  k(-  [.]4#6^GkBln#m!z',&  ]0!(  [7$* #>$- o#4~&z<,b?1cK5Io ]:.u N@,& #O,( t0) y5( O3\% D)Fe4n4 ]ڜG"wѴn@  Ndzu]XSF,[Ѵ`ZWWVRKC>4! #Ѵu]XUOGA>80+' >۴`ZWWVRKD@@?<4-))(& Ѵ`ZVRKC?80+'# S`ZWWVRKD@@?<4-))(& ۴`ZVRKD@<4-)&  294-))(& ۴`ZVRKD@<4-)&   ۾l\WSKD@<4-)&  _۾l]XUOGA>80*&  !ft]XUOGA>80+'# '670+'#   FontManager-master/FontManager.xcode/000077500000000000000000000000001205612570300200535ustar00rootroot00000000000000FontManager-master/FontManager.xcode/project.pbxproj000066400000000000000000000406221205612570300231330ustar00rootroot00000000000000// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 39; objects = { 1058C7A6FEA54F5311CA2CBB = { children = ( 1058C7A7FEA54F5311CA2CBB, ); isa = PBXGroup; name = "Linked Frameworks"; refType = 4; sourceTree = ""; }; 1058C7A7FEA54F5311CA2CBB = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; refType = 0; sourceTree = ""; }; 1058C7A8FEA54F5311CA2CBB = { children = ( 2A37F4C5FDCFA73011CA2CEA, 2A37F4C4FDCFA73011CA2CEA, ); isa = PBXGroup; name = "Other Frameworks"; refType = 4; sourceTree = ""; }; //100 //101 //102 //103 //104 //190 //191 //192 //193 //194 19C28FB0FE9D524F11CA2CBB = { children = ( 8D15AC370486D014006FF6A4, ); isa = PBXGroup; name = Products; refType = 4; sourceTree = ""; }; //190 //191 //192 //193 //194 //2A0 //2A1 //2A2 //2A3 //2A4 2A37F4A9FDCFA73011CA2CEA = { buildSettings = { }; buildStyles = ( 4A9504D0FFE6A4CB11CA0CBA, 4A9504D1FFE6A4CB11CA0CBA, ); hasScannedForEncodings = 1; isa = PBXProject; mainGroup = 2A37F4AAFDCFA73011CA2CEA; projectDirPath = ""; targets = ( 8D15AC270486D014006FF6A4, ); }; 2A37F4AAFDCFA73011CA2CEA = { children = ( 2A37F4ABFDCFA73011CA2CEA, 2A37F4AFFDCFA73011CA2CEA, 2A37F4B8FDCFA73011CA2CEA, 2A37F4C3FDCFA73011CA2CEA, 19C28FB0FE9D524F11CA2CBB, ); isa = PBXGroup; name = FontManager; path = ""; refType = 4; sourceTree = ""; }; 2A37F4ABFDCFA73011CA2CEA = { children = ( 40399AC20D524EDC00F4EA8B, 40399ABD0D524EDC00F4EA8B, 40502FB90DF0979D0099EEBA, 40502FBA0DF0979D0099EEBA, 40399ACA0D524EDC00F4EA8B, 40399ABF0D524EDC00F4EA8B, 40399AC90D524EDC00F4EA8B, 40399AC80D524EDC00F4EA8B, 40399ACC0D524EDC00F4EA8B, 40399AC00D524EDC00F4EA8B, 40399AC30D524EDC00F4EA8B, 40399AC40D524EDC00F4EA8B, 40399AC50D524EDC00F4EA8B, 40399AC70D524EDC00F4EA8B, 40399ACB0D524EDC00F4EA8B, 40399AC10D524EDC00F4EA8B, 40399ABE0D524EDC00F4EA8B, 40399AC60D524EDC00F4EA8B, ); isa = PBXGroup; name = Classes; path = ""; refType = 4; sourceTree = ""; }; 2A37F4AFFDCFA73011CA2CEA = { children = ( 40399ADD0D524EEB00F4EA8B, 40399ADE0D524EEB00F4EA8B, ); isa = PBXGroup; name = "Other Sources"; path = ""; refType = 4; sourceTree = ""; }; 2A37F4B8FDCFA73011CA2CEA = { children = ( 40502FCB0DF099910099EEBA, 40502FCC0DF099910099EEBA, 40399ABB0D524EC100F4EA8B, 40399AAF0D524EAE00F4EA8B, 40399AB30D524EAE00F4EA8B, 40399AB10D524EAE00F4EA8B, 40399AB50D524EAE00F4EA8B, 40399AAB0D524E9A00F4EA8B, 40399AAC0D524E9A00F4EA8B, ); isa = PBXGroup; name = Resources; path = ""; refType = 4; sourceTree = ""; }; 2A37F4C3FDCFA73011CA2CEA = { children = ( 1058C7A6FEA54F5311CA2CBB, 1058C7A8FEA54F5311CA2CBB, ); isa = PBXGroup; name = Frameworks; path = ""; refType = 4; sourceTree = ""; }; 2A37F4C4FDCFA73011CA2CEA = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; refType = 0; sourceTree = ""; }; 2A37F4C5FDCFA73011CA2CEA = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; refType = 0; sourceTree = ""; }; //2A0 //2A1 //2A2 //2A3 //2A4 //400 //401 //402 //403 //404 40399AAB0D524E9A00F4EA8B = { isa = PBXFileReference; lastKnownFileType = image.icns; path = "Document-Font.icns"; refType = 2; sourceTree = SOURCE_ROOT; }; 40399AAC0D524E9A00F4EA8B = { isa = PBXFileReference; lastKnownFileType = image.icns; path = FontManager.icns; refType = 2; sourceTree = SOURCE_ROOT; }; 40399AAD0D524E9A00F4EA8B = { fileRef = 40399AAB0D524E9A00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AAE0D524E9A00F4EA8B = { fileRef = 40399AAC0D524E9A00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AAF0D524EAE00F4EA8B = { children = ( 40399AB00D524EAE00F4EA8B, ); isa = PBXVariantGroup; name = InfoPlist.strings; path = ""; refType = 4; sourceTree = ""; }; 40399AB00D524EAE00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; refType = 4; sourceTree = ""; }; 40399AB10D524EAE00F4EA8B = { children = ( 40399AB20D524EAE00F4EA8B, ); isa = PBXVariantGroup; name = MainMenu.nib; path = ""; refType = 4; sourceTree = ""; }; 40399AB20D524EAE00F4EA8B = { isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; refType = 4; sourceTree = ""; }; 40399AB30D524EAE00F4EA8B = { children = ( 40399AB40D524EAE00F4EA8B, ); isa = PBXVariantGroup; name = Localizable.strings; path = ""; refType = 4; sourceTree = ""; }; 40399AB40D524EAE00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; refType = 4; sourceTree = ""; }; 40399AB50D524EAE00F4EA8B = { children = ( 40399AB60D524EAE00F4EA8B, ); isa = PBXVariantGroup; name = FontDocument.nib; path = ""; refType = 4; sourceTree = ""; }; 40399AB60D524EAE00F4EA8B = { isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/FontDocument.nib; refType = 4; sourceTree = ""; }; 40399AB70D524EAE00F4EA8B = { fileRef = 40399AAF0D524EAE00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AB80D524EAE00F4EA8B = { fileRef = 40399AB10D524EAE00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AB90D524EAE00F4EA8B = { fileRef = 40399AB30D524EAE00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399ABA0D524EAE00F4EA8B = { fileRef = 40399AB50D524EAE00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399ABB0D524EC100F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = text.xml; path = Info.plist; refType = 4; sourceTree = ""; }; 40399ABC0D524EC100F4EA8B = { fileRef = 40399ABB0D524EC100F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399ABD0D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQCharactersController.m; refType = 4; sourceTree = ""; }; 40399ABE0D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQSampleController.h; refType = 4; sourceTree = ""; }; 40399ABF0D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQCharacterView.m; refType = 4; sourceTree = ""; }; 40399AC00D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQFontDocument.m; refType = 4; sourceTree = ""; }; 40399AC10D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQFontSampleView.m; refType = 4; sourceTree = ""; }; 40399AC20D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQCharactersController.h; refType = 4; sourceTree = ""; }; 40399AC30D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQFontFamily.h; refType = 4; sourceTree = ""; }; 40399AC40D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQFontFamily.m; refType = 4; sourceTree = ""; }; 40399AC50D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQFontManager.h; refType = 4; sourceTree = ""; }; 40399AC60D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQSampleController.m; refType = 4; sourceTree = ""; }; 40399AC70D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQFontManager.m; refType = 4; sourceTree = ""; }; 40399AC80D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQController.m; refType = 4; sourceTree = ""; }; 40399AC90D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQController.h; refType = 4; sourceTree = ""; }; 40399ACA0D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQCharacterView.h; refType = 4; sourceTree = ""; }; 40399ACB0D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQFontSampleView.h; refType = 4; sourceTree = ""; }; 40399ACC0D524EDC00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQFontDocument.h; refType = 4; sourceTree = ""; }; 40399ACD0D524EDC00F4EA8B = { fileRef = 40399ABD0D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399ACE0D524EDC00F4EA8B = { fileRef = 40399ABE0D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399ACF0D524EDC00F4EA8B = { fileRef = 40399ABF0D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD00D524EDC00F4EA8B = { fileRef = 40399AC00D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD10D524EDC00F4EA8B = { fileRef = 40399AC10D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD20D524EDC00F4EA8B = { fileRef = 40399AC20D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD30D524EDC00F4EA8B = { fileRef = 40399AC30D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD40D524EDC00F4EA8B = { fileRef = 40399AC40D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD50D524EDC00F4EA8B = { fileRef = 40399AC50D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD60D524EDC00F4EA8B = { fileRef = 40399AC60D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD70D524EDC00F4EA8B = { fileRef = 40399AC70D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD80D524EDC00F4EA8B = { fileRef = 40399AC80D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AD90D524EDC00F4EA8B = { fileRef = 40399AC90D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399ADA0D524EDC00F4EA8B = { fileRef = 40399ACA0D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399ADB0D524EDC00F4EA8B = { fileRef = 40399ACB0D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399ADC0D524EDC00F4EA8B = { fileRef = 40399ACC0D524EDC00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399ADD0D524EEB00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQCompat.h; refType = 4; sourceTree = ""; }; 40399ADE0D524EEB00F4EA8B = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQMain.m; refType = 4; sourceTree = ""; }; 40399ADF0D524EEB00F4EA8B = { fileRef = 40399ADD0D524EEB00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40399AE00D524EEB00F4EA8B = { fileRef = 40399ADE0D524EEB00F4EA8B; isa = PBXBuildFile; settings = { }; }; 40502FB90DF0979D0099EEBA = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PQCharactersView.h; refType = 4; sourceTree = ""; }; 40502FBA0DF0979D0099EEBA = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PQCharactersView.m; refType = 4; sourceTree = ""; }; 40502FBB0DF0979D0099EEBA = { fileRef = 40502FB90DF0979D0099EEBA; isa = PBXBuildFile; settings = { }; }; 40502FBC0DF0979D0099EEBA = { fileRef = 40502FBA0DF0979D0099EEBA; isa = PBXBuildFile; settings = { }; }; 40502FCB0DF099910099EEBA = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = text.plist; path = UnicodeBlocks.plist; refType = 4; sourceTree = ""; }; 40502FCC0DF099910099EEBA = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = text.plist; path = UnicodeBlockNames.plist; refType = 4; sourceTree = ""; }; 40502FCD0DF099910099EEBA = { fileRef = 40502FCB0DF099910099EEBA; isa = PBXBuildFile; settings = { }; }; 40502FCE0DF099910099EEBA = { fileRef = 40502FCC0DF099910099EEBA; isa = PBXBuildFile; settings = { }; }; //400 //401 //402 //403 //404 //4A0 //4A1 //4A2 //4A3 //4A4 4A9504D0FFE6A4CB11CA0CBA = { buildSettings = { COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; ZERO_LINK = YES; }; isa = PBXBuildStyle; name = Development; }; 4A9504D1FFE6A4CB11CA0CBA = { buildSettings = { COPY_PHASE_STRIP = YES; GCC_ENABLE_FIX_AND_CONTINUE = NO; ZERO_LINK = NO; }; isa = PBXBuildStyle; name = Deployment; }; //4A0 //4A1 //4A2 //4A3 //4A4 //8D0 //8D1 //8D2 //8D3 //8D4 8D15AC270486D014006FF6A4 = { buildPhases = ( 8D15AC2B0486D014006FF6A4, 8D15AC300486D014006FF6A4, 8D15AC330486D014006FF6A4, ); buildRules = ( ); buildSettings = { GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_NAME = "Font Manager"; WRAPPER_EXTENSION = app; }; dependencies = ( ); isa = PBXNativeTarget; name = FontManager; productInstallPath = "$(HOME)/Applications"; productName = FontManager; productReference = 8D15AC370486D014006FF6A4; productType = "com.apple.product-type.application"; }; 8D15AC2B0486D014006FF6A4 = { buildActionMask = 2147483647; files = ( 40399AAD0D524E9A00F4EA8B, 40399AAE0D524E9A00F4EA8B, 40399AB70D524EAE00F4EA8B, 40399AB80D524EAE00F4EA8B, 40399AB90D524EAE00F4EA8B, 40399ABA0D524EAE00F4EA8B, 40399ABC0D524EC100F4EA8B, 40399ACE0D524EDC00F4EA8B, 40399AD20D524EDC00F4EA8B, 40399AD30D524EDC00F4EA8B, 40399AD50D524EDC00F4EA8B, 40399AD90D524EDC00F4EA8B, 40399ADA0D524EDC00F4EA8B, 40399ADB0D524EDC00F4EA8B, 40399ADC0D524EDC00F4EA8B, 40399ADF0D524EEB00F4EA8B, 40502FBB0DF0979D0099EEBA, 40502FCD0DF099910099EEBA, 40502FCE0DF099910099EEBA, ); isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 8D15AC300486D014006FF6A4 = { buildActionMask = 2147483647; files = ( 40399ACD0D524EDC00F4EA8B, 40399ACF0D524EDC00F4EA8B, 40399AD00D524EDC00F4EA8B, 40399AD10D524EDC00F4EA8B, 40399AD40D524EDC00F4EA8B, 40399AD60D524EDC00F4EA8B, 40399AD70D524EDC00F4EA8B, 40399AD80D524EDC00F4EA8B, 40399AE00D524EEB00F4EA8B, 40502FBC0DF0979D0099EEBA, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 8D15AC330486D014006FF6A4 = { buildActionMask = 2147483647; files = ( 8D15AC340486D014006FF6A4, ); isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 8D15AC340486D014006FF6A4 = { fileRef = 1058C7A7FEA54F5311CA2CBB; isa = PBXBuildFile; settings = { }; }; 8D15AC370486D014006FF6A4 = { explicitFileType = wrapper.application; includeInIndex = 0; isa = PBXFileReference; path = "Font Manager.app"; refType = 3; sourceTree = BUILT_PRODUCTS_DIR; }; }; rootObject = 2A37F4A9FDCFA73011CA2CEA; } FontManager-master/FontManager.xcodeproj/000077500000000000000000000000001205612570300207465ustar00rootroot00000000000000FontManager-master/FontManager.xcodeproj/project.pbxproj000066400000000000000000000511741205612570300240320ustar00rootroot00000000000000// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 42; objects = { /* Begin PBXBuildFile section */ 3224519C0D8547F100C2604B /* Unicode Blocks.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3224519B0D8547F100C2604B /* Unicode Blocks.plist */; }; 328C37E30D78BD2200712561 /* PQCharactersView.m in Sources */ = {isa = PBXBuildFile; fileRef = 328C37E20D78BD2200712561 /* PQCharactersView.m */; }; 40399AAD0D524E9A00F4EA8B /* Document-Font.icns in Resources */ = {isa = PBXBuildFile; fileRef = 40399AAB0D524E9A00F4EA8B /* Document-Font.icns */; }; 40399AAE0D524E9A00F4EA8B /* FontManager.icns in Resources */ = {isa = PBXBuildFile; fileRef = 40399AAC0D524E9A00F4EA8B /* FontManager.icns */; }; 40399AB70D524EAE00F4EA8B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 40399AAF0D524EAE00F4EA8B /* InfoPlist.strings */; }; 40399AB80D524EAE00F4EA8B /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 40399AB10D524EAE00F4EA8B /* MainMenu.nib */; }; 40399AB90D524EAE00F4EA8B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 40399AB30D524EAE00F4EA8B /* Localizable.strings */; }; 40399ABA0D524EAE00F4EA8B /* FontDocument.nib in Resources */ = {isa = PBXBuildFile; fileRef = 40399AB50D524EAE00F4EA8B /* FontDocument.nib */; }; 40399ABC0D524EC100F4EA8B /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 40399ABB0D524EC100F4EA8B /* Info.plist */; }; 40399ACD0D524EDC00F4EA8B /* PQCharactersController.m in Sources */ = {isa = PBXBuildFile; fileRef = 40399ABD0D524EDC00F4EA8B /* PQCharactersController.m */; }; 40399ACE0D524EDC00F4EA8B /* PQSampleController.h in Resources */ = {isa = PBXBuildFile; fileRef = 40399ABE0D524EDC00F4EA8B /* PQSampleController.h */; }; 40399ACF0D524EDC00F4EA8B /* PQCharacterView.m in Sources */ = {isa = PBXBuildFile; fileRef = 40399ABF0D524EDC00F4EA8B /* PQCharacterView.m */; }; 40399AD00D524EDC00F4EA8B /* PQFontDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 40399AC00D524EDC00F4EA8B /* PQFontDocument.m */; }; 40399AD10D524EDC00F4EA8B /* PQFontSampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 40399AC10D524EDC00F4EA8B /* PQFontSampleView.m */; }; 40399AD20D524EDC00F4EA8B /* PQCharactersController.h in Resources */ = {isa = PBXBuildFile; fileRef = 40399AC20D524EDC00F4EA8B /* PQCharactersController.h */; }; 40399AD30D524EDC00F4EA8B /* PQFontFamily.h in Resources */ = {isa = PBXBuildFile; fileRef = 40399AC30D524EDC00F4EA8B /* PQFontFamily.h */; }; 40399AD40D524EDC00F4EA8B /* PQFontFamily.m in Sources */ = {isa = PBXBuildFile; fileRef = 40399AC40D524EDC00F4EA8B /* PQFontFamily.m */; }; 40399AD50D524EDC00F4EA8B /* PQFontManager.h in Resources */ = {isa = PBXBuildFile; fileRef = 40399AC50D524EDC00F4EA8B /* PQFontManager.h */; }; 40399AD60D524EDC00F4EA8B /* PQSampleController.m in Sources */ = {isa = PBXBuildFile; fileRef = 40399AC60D524EDC00F4EA8B /* PQSampleController.m */; }; 40399AD70D524EDC00F4EA8B /* PQFontManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 40399AC70D524EDC00F4EA8B /* PQFontManager.m */; }; 40399AD80D524EDC00F4EA8B /* PQController.m in Sources */ = {isa = PBXBuildFile; fileRef = 40399AC80D524EDC00F4EA8B /* PQController.m */; }; 40399AD90D524EDC00F4EA8B /* PQController.h in Resources */ = {isa = PBXBuildFile; fileRef = 40399AC90D524EDC00F4EA8B /* PQController.h */; }; 40399ADA0D524EDC00F4EA8B /* PQCharacterView.h in Resources */ = {isa = PBXBuildFile; fileRef = 40399ACA0D524EDC00F4EA8B /* PQCharacterView.h */; }; 40399ADB0D524EDC00F4EA8B /* PQFontSampleView.h in Resources */ = {isa = PBXBuildFile; fileRef = 40399ACB0D524EDC00F4EA8B /* PQFontSampleView.h */; }; 40399ADC0D524EDC00F4EA8B /* PQFontDocument.h in Resources */ = {isa = PBXBuildFile; fileRef = 40399ACC0D524EDC00F4EA8B /* PQFontDocument.h */; }; 40399ADF0D524EEB00F4EA8B /* PQCompat.h in Resources */ = {isa = PBXBuildFile; fileRef = 40399ADD0D524EEB00F4EA8B /* PQCompat.h */; }; 40399AE00D524EEB00F4EA8B /* PQMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 40399ADE0D524EEB00F4EA8B /* PQMain.m */; }; 8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 3224519B0D8547F100C2604B /* Unicode Blocks.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = "Unicode Blocks.plist"; sourceTree = ""; }; 328C37E10D78BD2200712561 /* PQCharactersView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQCharactersView.h; sourceTree = ""; }; 328C37E20D78BD2200712561 /* PQCharactersView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQCharactersView.m; sourceTree = ""; }; 40399AAB0D524E9A00F4EA8B /* Document-Font.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "Document-Font.icns"; sourceTree = SOURCE_ROOT; }; 40399AAC0D524E9A00F4EA8B /* FontManager.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = FontManager.icns; sourceTree = SOURCE_ROOT; }; 40399AB00D524EAE00F4EA8B /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 40399AB20D524EAE00F4EA8B /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = ""; }; 40399AB40D524EAE00F4EA8B /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = ""; }; 40399AB60D524EAE00F4EA8B /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/FontDocument.nib; sourceTree = ""; }; 40399ABB0D524EC100F4EA8B /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Info.plist; sourceTree = ""; }; 40399ABD0D524EDC00F4EA8B /* PQCharactersController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQCharactersController.m; sourceTree = ""; }; 40399ABE0D524EDC00F4EA8B /* PQSampleController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQSampleController.h; sourceTree = ""; }; 40399ABF0D524EDC00F4EA8B /* PQCharacterView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQCharacterView.m; sourceTree = ""; }; 40399AC00D524EDC00F4EA8B /* PQFontDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQFontDocument.m; sourceTree = ""; }; 40399AC10D524EDC00F4EA8B /* PQFontSampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQFontSampleView.m; sourceTree = ""; }; 40399AC20D524EDC00F4EA8B /* PQCharactersController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQCharactersController.h; sourceTree = ""; }; 40399AC30D524EDC00F4EA8B /* PQFontFamily.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQFontFamily.h; sourceTree = ""; }; 40399AC40D524EDC00F4EA8B /* PQFontFamily.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQFontFamily.m; sourceTree = ""; }; 40399AC50D524EDC00F4EA8B /* PQFontManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQFontManager.h; sourceTree = ""; }; 40399AC60D524EDC00F4EA8B /* PQSampleController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQSampleController.m; sourceTree = ""; }; 40399AC70D524EDC00F4EA8B /* PQFontManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQFontManager.m; sourceTree = ""; }; 40399AC80D524EDC00F4EA8B /* PQController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQController.m; sourceTree = ""; }; 40399AC90D524EDC00F4EA8B /* PQController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQController.h; sourceTree = ""; }; 40399ACA0D524EDC00F4EA8B /* PQCharacterView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQCharacterView.h; sourceTree = ""; }; 40399ACB0D524EDC00F4EA8B /* PQFontSampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQFontSampleView.h; sourceTree = ""; }; 40399ACC0D524EDC00F4EA8B /* PQFontDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQFontDocument.h; sourceTree = ""; }; 40399ADD0D524EEB00F4EA8B /* PQCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PQCompat.h; sourceTree = ""; }; 40399ADE0D524EEB00F4EA8B /* PQMain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PQMain.m; sourceTree = ""; }; 8D15AC370486D014006FF6A4 /* Font Manager.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Font Manager.app"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 8D15AC330486D014006FF6A4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 1058C7A6FEA54F5311CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */, ); name = "Linked Frameworks"; sourceTree = ""; }; 1058C7A8FEA54F5311CA2CBB /* Other Frameworks */ = { isa = PBXGroup; children = ( 2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */, 2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */, ); name = "Other Frameworks"; sourceTree = ""; }; 19C28FB0FE9D524F11CA2CBB /* Products */ = { isa = PBXGroup; children = ( 8D15AC370486D014006FF6A4 /* Font Manager.app */, ); name = Products; sourceTree = ""; }; 2A37F4AAFDCFA73011CA2CEA /* FontManager */ = { isa = PBXGroup; children = ( 2A37F4ABFDCFA73011CA2CEA /* Classes */, 2A37F4AFFDCFA73011CA2CEA /* Other Sources */, 2A37F4B8FDCFA73011CA2CEA /* Resources */, 2A37F4C3FDCFA73011CA2CEA /* Frameworks */, 19C28FB0FE9D524F11CA2CBB /* Products */, ); name = FontManager; sourceTree = ""; }; 2A37F4ABFDCFA73011CA2CEA /* Classes */ = { isa = PBXGroup; children = ( 40399AC20D524EDC00F4EA8B /* PQCharactersController.h */, 40399ABD0D524EDC00F4EA8B /* PQCharactersController.m */, 328C37E10D78BD2200712561 /* PQCharactersView.h */, 328C37E20D78BD2200712561 /* PQCharactersView.m */, 40399ACA0D524EDC00F4EA8B /* PQCharacterView.h */, 40399ABF0D524EDC00F4EA8B /* PQCharacterView.m */, 40399AC90D524EDC00F4EA8B /* PQController.h */, 40399AC80D524EDC00F4EA8B /* PQController.m */, 40399ACC0D524EDC00F4EA8B /* PQFontDocument.h */, 40399AC00D524EDC00F4EA8B /* PQFontDocument.m */, 40399AC30D524EDC00F4EA8B /* PQFontFamily.h */, 40399AC40D524EDC00F4EA8B /* PQFontFamily.m */, 40399AC50D524EDC00F4EA8B /* PQFontManager.h */, 40399AC70D524EDC00F4EA8B /* PQFontManager.m */, 40399ACB0D524EDC00F4EA8B /* PQFontSampleView.h */, 40399AC10D524EDC00F4EA8B /* PQFontSampleView.m */, 40399ABE0D524EDC00F4EA8B /* PQSampleController.h */, 40399AC60D524EDC00F4EA8B /* PQSampleController.m */, ); name = Classes; sourceTree = ""; }; 2A37F4AFFDCFA73011CA2CEA /* Other Sources */ = { isa = PBXGroup; children = ( 40399ADD0D524EEB00F4EA8B /* PQCompat.h */, 40399ADE0D524EEB00F4EA8B /* PQMain.m */, ); name = "Other Sources"; sourceTree = ""; }; 2A37F4B8FDCFA73011CA2CEA /* Resources */ = { isa = PBXGroup; children = ( 3224519B0D8547F100C2604B /* Unicode Blocks.plist */, 40399ABB0D524EC100F4EA8B /* Info.plist */, 40399AAF0D524EAE00F4EA8B /* InfoPlist.strings */, 40399AB30D524EAE00F4EA8B /* Localizable.strings */, 40399AB10D524EAE00F4EA8B /* MainMenu.nib */, 40399AB50D524EAE00F4EA8B /* FontDocument.nib */, 40399AAB0D524E9A00F4EA8B /* Document-Font.icns */, 40399AAC0D524E9A00F4EA8B /* FontManager.icns */, ); name = Resources; sourceTree = ""; }; 2A37F4C3FDCFA73011CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( 1058C7A6FEA54F5311CA2CBB /* Linked Frameworks */, 1058C7A8FEA54F5311CA2CBB /* Other Frameworks */, ); name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ 8D15AC270486D014006FF6A4 /* FontManager */ = { isa = PBXNativeTarget; buildConfigurationList = 328C37D30D78BCAA00712561 /* Build configuration list for PBXNativeTarget "FontManager" */; buildPhases = ( 8D15AC2B0486D014006FF6A4 /* Resources */, 8D15AC300486D014006FF6A4 /* Sources */, 8D15AC330486D014006FF6A4 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = FontManager; productInstallPath = "$(HOME)/Applications"; productName = FontManager; productReference = 8D15AC370486D014006FF6A4 /* Font Manager.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 2A37F4A9FDCFA73011CA2CEA /* Project object */ = { isa = PBXProject; buildConfigurationList = 328C37D70D78BCAA00712561 /* Build configuration list for PBXProject "FontManager" */; hasScannedForEncodings = 1; mainGroup = 2A37F4AAFDCFA73011CA2CEA /* FontManager */; projectDirPath = ""; targets = ( 8D15AC270486D014006FF6A4 /* FontManager */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 8D15AC2B0486D014006FF6A4 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 40399AAD0D524E9A00F4EA8B /* Document-Font.icns in Resources */, 40399AAE0D524E9A00F4EA8B /* FontManager.icns in Resources */, 40399AB70D524EAE00F4EA8B /* InfoPlist.strings in Resources */, 40399AB80D524EAE00F4EA8B /* MainMenu.nib in Resources */, 40399AB90D524EAE00F4EA8B /* Localizable.strings in Resources */, 40399ABA0D524EAE00F4EA8B /* FontDocument.nib in Resources */, 40399ABC0D524EC100F4EA8B /* Info.plist in Resources */, 40399ACE0D524EDC00F4EA8B /* PQSampleController.h in Resources */, 40399AD20D524EDC00F4EA8B /* PQCharactersController.h in Resources */, 40399AD30D524EDC00F4EA8B /* PQFontFamily.h in Resources */, 40399AD50D524EDC00F4EA8B /* PQFontManager.h in Resources */, 40399AD90D524EDC00F4EA8B /* PQController.h in Resources */, 40399ADA0D524EDC00F4EA8B /* PQCharacterView.h in Resources */, 40399ADB0D524EDC00F4EA8B /* PQFontSampleView.h in Resources */, 40399ADC0D524EDC00F4EA8B /* PQFontDocument.h in Resources */, 40399ADF0D524EEB00F4EA8B /* PQCompat.h in Resources */, 3224519C0D8547F100C2604B /* Unicode Blocks.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 8D15AC300486D014006FF6A4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 40399ACD0D524EDC00F4EA8B /* PQCharactersController.m in Sources */, 40399ACF0D524EDC00F4EA8B /* PQCharacterView.m in Sources */, 40399AD00D524EDC00F4EA8B /* PQFontDocument.m in Sources */, 40399AD10D524EDC00F4EA8B /* PQFontSampleView.m in Sources */, 40399AD40D524EDC00F4EA8B /* PQFontFamily.m in Sources */, 40399AD60D524EDC00F4EA8B /* PQSampleController.m in Sources */, 40399AD70D524EDC00F4EA8B /* PQFontManager.m in Sources */, 40399AD80D524EDC00F4EA8B /* PQController.m in Sources */, 40399AE00D524EEB00F4EA8B /* PQMain.m in Sources */, 328C37E30D78BD2200712561 /* PQCharactersView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ 40399AAF0D524EAE00F4EA8B /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( 40399AB00D524EAE00F4EA8B /* English */, ); name = InfoPlist.strings; sourceTree = ""; }; 40399AB10D524EAE00F4EA8B /* MainMenu.nib */ = { isa = PBXVariantGroup; children = ( 40399AB20D524EAE00F4EA8B /* English */, ); name = MainMenu.nib; sourceTree = ""; }; 40399AB30D524EAE00F4EA8B /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( 40399AB40D524EAE00F4EA8B /* English */, ); name = Localizable.strings; sourceTree = ""; }; 40399AB50D524EAE00F4EA8B /* FontDocument.nib */ = { isa = PBXVariantGroup; children = ( 40399AB60D524EAE00F4EA8B /* English */, ); name = FontDocument.nib; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ 328C37D40D78BCAA00712561 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_NAME = "Font Manager"; WRAPPER_EXTENSION = app; ZERO_LINK = YES; }; name = Development; }; 328C37D50D78BCAA00712561 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = YES; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_NAME = "Font Manager"; WRAPPER_EXTENSION = app; ZERO_LINK = NO; }; name = Deployment; }; 328C37D60D78BCAA00712561 /* Default */ = { isa = XCBuildConfiguration; buildSettings = { GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_NAME = "Font Manager"; WRAPPER_EXTENSION = app; }; name = Default; }; 328C37D80D78BCAA00712561 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Development; }; 328C37D90D78BCAA00712561 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Deployment; }; 328C37DA0D78BCAA00712561 /* Default */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Default; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 328C37D30D78BCAA00712561 /* Build configuration list for PBXNativeTarget "FontManager" */ = { isa = XCConfigurationList; buildConfigurations = ( 328C37D40D78BCAA00712561 /* Development */, 328C37D50D78BCAA00712561 /* Deployment */, 328C37D60D78BCAA00712561 /* Default */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Default; }; 328C37D70D78BCAA00712561 /* Build configuration list for PBXProject "FontManager" */ = { isa = XCConfigurationList; buildConfigurations = ( 328C37D80D78BCAA00712561 /* Development */, 328C37D90D78BCAA00712561 /* Deployment */, 328C37DA0D78BCAA00712561 /* Default */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Default; }; /* End XCConfigurationList section */ }; rootObject = 2A37F4A9FDCFA73011CA2CEA /* Project object */; } FontManager-master/FontManagerInfo.plist000077500000000000000000000011331205612570300206440ustar00rootroot00000000000000{ ApplicationDescription = "A Font Previewer/Installer"; ApplicationName = "Font Manager"; ApplicationIcon = "FontManager.tif"; ApplicationRelease = "Font Manager 0.1"; Authors = ("Isaiah Beerbower "); Copyright = "Copyright 2007 Isaiah Beerbower"; CopyrightDescription = "Released under the 3-Clause BSD licence"; NSIcon = "FontManager.tif"; NSRole = "Viewer"; NSTypes = ( { NSName = "PQFontDocument"; NSHumanReadableName = "Font Document"; NSUnixExtensions = ("ttf"); NSRole = "Viewer"; NSDocumentClass = PQFontDocument; NSIcon = "Document-Font.tif"; } ); } FontManager-master/GNUmakefile000066400000000000000000000016131205612570300166240ustar00rootroot00000000000000# # GNUmakefile - Font Manager # # Copyright 2007 Isaiah Beerbower. # # Author: Isaiah Beerbower # Created: 05/31/07 # License: Modified BSD license (see file COPYING) # include $(GNUSTEP_MAKEFILES)/common.make APP_NAME = FontManager FontManager_OBJC_FILES = \ PQMain.m \ PQCharacterView.m \ PQCharactersController.m \ PQCharactersView.m \ PQController.m \ PQFontDocument.m \ PQFontFamily.m \ PQFontManager.m \ PQFontSampleView.m \ PQSampleController.m FontManager_LANGUAGES = \ English FontManager_LOCALIZED_RESOURCE_FILES = \ MainMenu.gorm \ FontDocument.gorm \ Localizable.strings FontManager_RESOURCE_FILES = \ Resources/FontManager.tif \ Resources/Document-Font.tif \ Resources/UnicodeBlockNames.plist \ Resources/UnicodeBlocks.plist FontManager_MAIN_MODEL_FILE = MainMenu.gorm include $(GNUSTEP_MAKEFILES)/application.make -include ../../../etoile.make FontManager-master/Info.plist000066400000000000000000000025471205612570300165310ustar00rootroot00000000000000 CFBundleDevelopmentRegion English CFBundleDocumentTypes CFBundleTypeExtensions ttf CFBundleTypeIconFile Document-Font CFBundleTypeName PQFontDocument CFBundleTypeRole Viewer LSTypeIsPackage NSDocumentClass PQFontDocument NSPersistentStoreTypeKey XML CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile FontManager CFBundleIdentifier org.etoile-project.fontmanager CFBundleInfoDictionaryVersion 6.0 CFBundleName ${PRODUCT_NAME} CFBundlePackageType APPL CFBundleSignature ???? CFBundleVersion 0.1 NSMainNibFile MainMenu NSPrincipalClass NSApplication FontManager-master/PQCharacterView.h000066400000000000000000000011471205612570300177150ustar00rootroot00000000000000/* * PQCharacterView.h - Font Manager * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 12/01/07 * License: 3-Clause BSD license (see file COPYING) */ #import #import @interface PQCharacterView : NSView { NSString *fontName; float fontSize; NSColor *color; NSColor *guideColor; NSColor *backgroundColor; unichar character; } - (void) setFontSize: (float)newSize; - (float) fontSize; - (void) setFont: (NSString *)newFontName; - (NSString *) font; - (void) setCharacter: (unichar)newCharacter; - (unichar) character; @end FontManager-master/PQCharacterView.m000066400000000000000000000120051205612570300177150ustar00rootroot00000000000000/* * PQCharacterView.m - Font Manager * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 12/01/07 * License: 3-Clause BSD license (see file COPYING) */ #ifdef GNUSTEP #import #endif #import #import #import "PQCharacterView.h" #import "PQCompat.h" #define invf(f) ((f > 0.0) ? (f - (f * 2.0)) : fabs(f)) @implementation PQCharacterView - (id) initWithFrame: (NSRect)frame { [super initWithFrame: frame]; fontName = [[NSFont userFontOfSize: 144.0] fontName]; fontSize = 144.0; color = [NSColor blackColor]; guideColor = [NSColor redColor]; backgroundColor = [NSColor whiteColor]; character = 0; RETAIN(fontName); RETAIN(color); RETAIN(guideColor); RETAIN(backgroundColor); return self; } - (void) dealloc { RELEASE(fontName); RELEASE(color); RELEASE(guideColor); RELEASE(backgroundColor); [super dealloc]; } - (void) setFontSize: (float)newSize { fontSize = newSize; [self setNeedsDisplay: YES]; } - (float) fontSize { return fontSize; } - (void) setFont: (NSString *)newFontName { ASSIGN(fontName, newFontName); [self setNeedsDisplay: YES]; } - (NSString *) font { return fontName; } - (void) setCharacter: (unichar)newCharacter { character = newCharacter; [self setNeedsDisplay: YES]; } - (unichar) character { return character; } /* Drawing */ - (void) drawRect: (NSRect)rect { NSFont *font = [NSFont fontWithName: [self font] size: [self fontSize]]; NSBezierPath *path = [[NSBezierPath alloc] init]; #ifndef GNUSTEP NSCharacterSet *fontCharacterSet = [font coveredCharacterSet]; #endif /* Text system components */ NSTextStorage *textStorage; NSLayoutManager *layoutManager; /* Set up text system */ textStorage = [[NSTextStorage alloc] initWithString: [NSString stringWithCharacters: &character length: 1]]; [textStorage addAttribute: NSFontAttributeName value: font range: NSMakeRange(0, [textStorage length])]; [textStorage addAttribute: NSForegroundColorAttributeName value: color range: NSMakeRange(0, [textStorage length])]; layoutManager = [[NSLayoutManager alloc] init]; [textStorage addLayoutManager: layoutManager]; RELEASE(layoutManager); /* Retained by textStorage */ [backgroundColor set]; [NSBezierPath fillRect: rect]; float advancement = [font advancementForGlyph: [layoutManager glyphAtIndex: 0]].width; #ifndef GNUSTEP if ([layoutManager numberOfGlyphs] > 0 && advancement > 0.0 && [fontCharacterSet characterIsMember: character]) #else if ([layoutManager numberOfGlyphs] > 0 && advancement > 0.0) #endif { float ascent = [font ascender]; float descent = [font descender]; float xHeight = [font xHeight]; float italicAngle = [font italicAngle]; float yOffset = (rect.size.height - [textStorage size].height) / 2.0; float baseline = yOffset + abs(descent); float xOffset = NSMidX(rect) - (advancement / 2.0); [guideColor set]; [path moveToPoint: NSMakePoint(0.0, baseline)]; [path lineToPoint: NSMakePoint(rect.size.width, baseline)]; [path stroke]; [path removeAllPoints]; float pattern[] = {1.0, 2.0}; [path setLineDash: pattern count: 2 phase: 0.0]; [path moveToPoint: NSMakePoint(xOffset, 0.0)]; [path lineToPoint: NSMakePoint(xOffset, rect.size.height)]; [path moveToPoint: NSMakePoint(xOffset + advancement, 0.0)]; [path lineToPoint: NSMakePoint(xOffset + advancement, rect.size.height)]; [path moveToPoint: NSMakePoint(0.0, baseline + descent)]; [path lineToPoint: NSMakePoint(rect.size.width, baseline + descent)]; [path moveToPoint: NSMakePoint(0.0, baseline + ascent)]; [path lineToPoint: NSMakePoint(rect.size.width, baseline + ascent)]; [path moveToPoint: NSMakePoint(0.0, baseline + xHeight)]; [path lineToPoint: NSMakePoint(rect.size.width, baseline + xHeight)]; // NOTE: Mac OS X version 10.3 seems to return a bogus italic angle. if (italicAngle != 0.0) { float top = ([self frame].size.height / 2.0); float bottom = ([self frame].size.height / 2.0); float tangent = tan(invf(italicAngle) * (3.141592 / 180.0)); [path moveToPoint: NSMakePoint(xOffset + (tangent * top), [self frame].size.height)]; [path lineToPoint: NSMakePoint(xOffset - (tangent * bottom), 0.0)]; [path moveToPoint: NSMakePoint(xOffset + advancement + (tangent * top), [self frame].size.height)]; [path lineToPoint: NSMakePoint((xOffset + advancement) - (tangent * bottom), 0.0)]; } [path stroke]; [textStorage drawAtPoint: NSMakePoint(xOffset, yOffset)]; } #ifdef GNUSTEP [[GSTheme theme] drawGrayBezel: NSMakeRect(0.0, 0.0, [self frame].size.width, [self frame].size.height) withClip: rect]; #else [[NSColor lightGrayColor] set]; [NSBezierPath strokeRect:NSInsetRect(NSMakeRect(0.0, 0.0, [self frame].size.width, [self frame].size.height), 0.5, 0.5)]; #endif } @end FontManager-master/PQCharactersController.h000066400000000000000000000012031205612570300213020ustar00rootroot00000000000000/* * PQCharactersController.h - Font Manager * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 12/02/07 * License: 3-Clause BSD license (see file COPYING) */ #import #import "PQCharacterView.h" #import "PQCharactersView.h" @interface PQCharactersController : NSObject { PQCharactersView *charsView; PQCharacterView *charView; NSSlider *charSizeSlider; NSPopUpButton *unicodeBlockPopUpButton; NSString *fontName; NSDictionary *unicodeBlocks; NSRange characterRange; } - (void) changeCharSize: (id)sender; - (void) setFont: (NSString *)fontName; - (NSString *) font; @end FontManager-master/PQCharactersController.m000066400000000000000000000046001205612570300213130ustar00rootroot00000000000000/* * PQCharactersController.m - Font Manager * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 12/02/07 * License: 3-Clause BSD license (see file COPYING) */ #import "PQCharactersController.h" #import "PQCompat.h" @implementation PQCharactersController - (id) init { [super init]; fontName = [[NSString alloc] init]; unicodeBlocks = [NSDictionary dictionaryWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @"UnicodeBlocks" ofType: @"plist"]]; characterRange = NSMakeRange(0, 128); RETAIN(unicodeBlocks); RETAIN(fontName); return self; } - (void) dealloc { RELEASE(unicodeBlocks); RELEASE(fontName); [super dealloc]; } - (void) awakeFromNib { [unicodeBlockPopUpButton removeAllItems]; NSArray *unicodeBlockNames = [NSArray arrayWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @"UnicodeBlockNames" ofType: @"plist"]]; [unicodeBlockPopUpButton addItemsWithTitles: unicodeBlockNames]; /* [unicodeBlockPopUpButton addItemsWithTitles: [[unicodeBlocks allKeys] sortedArrayUsingSelector: @selector(caseInsensitiveCompare:)]]; */ [unicodeBlockPopUpButton selectItemWithTitle: @"Basic Latin"]; [charsView setSelectedIndex: 65]; } - (void) changeCharSize: (id)sender { [charView setFontSize: [sender intValue]]; } - (void) changeUnicodeBlock: (id)sender { NSArray *unicodeBlock = [unicodeBlocks objectForKey: [sender titleOfSelectedItem]]; unsigned int lowerBound = [[unicodeBlock objectAtIndex: 0] intValue]; unsigned int upperBound = [[unicodeBlock objectAtIndex: 1] intValue]; characterRange = NSMakeRange(lowerBound, (upperBound - lowerBound)); [charsView setSelectedIndex: 0]; [charsView setNeedsDisplay: YES]; } - (void) setFont: (NSString *)newFontName { ASSIGN(fontName, newFontName); [charView setFont: fontName]; [charsView setFont: [NSFont fontWithName: fontName size: 24.0]]; } - (NSString *) font { return fontName; } - (int) numberOfCharactersInCharactersView: (PQCharactersView *)aCharactersView { return characterRange.length; } - (unichar) charactersView: (PQCharactersView *)aCharactersView characterAtIndex: (int)index { return index + characterRange.location; } - (void) selectionDidChangeInCharactersView: (PQCharactersView *)charactersView { [charView setCharacter: characterRange.location + [charsView selectedIndex]]; } @end FontManager-master/PQCharactersView.h000077500000000000000000000021121205612570300200740ustar00rootroot00000000000000/* * PQCharactersView.h - Font Manager * * Copyright 2008 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 02/29/08 * License: 3-Clause BSD license (see file COPYING) */ #import #import @interface PQCharactersView : NSView { id dataSource; id delegate; NSFont *font; unsigned int length; unsigned int columns; unsigned int rows; unsigned int selectedIndex; float width; float height; } - (void) setDataSource: (id)anObject; - (id) dataSource; - (void) setDelegate: (id)anObject; - (id) delegate; - (void) setFont: (NSFont *)newFont; - (NSFont *) font; - (void) setSelectedIndex: (unsigned int)newSelectedIndex; - (unsigned int) selectedIndex; @end @interface NSObject (PQCharactersDataSource) - (int) numberOfCharactersInCharactersView: (PQCharactersView *)aCharactersView; - (unichar) charactersView: (PQCharactersView *)aCharactersView characterAtIndex: (int)index; @end @interface NSObject (PQCharactersDelegate) - (void) selectionDidChangeInCharactersView: (PQCharactersView *)charactersView; @end FontManager-master/PQCharactersView.m000077500000000000000000000137301205612570300201110ustar00rootroot00000000000000/* * PQCharactersView.m - Font Manager * * Copyright 2008 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 02/29/08 * License: 3-Clause BSD license (see file COPYING) */ #import "PQCharactersView.h" #import "PQCompat.h" #import #define rectForIndex(x) NSMakeRect((((x < columns) ? \ x : (x % columns)) * width), \ (floorf((float)x / (float)columns)) * height, \ width, height) @implementation PQCharactersView - (id) initWithFrame: (NSRect)frame { [super initWithFrame: frame]; font = [NSFont userFontOfSize: 24.0]; length = 0; columns = 0; rows = 0; selectedIndex = 0; width = 0.0; height = 0.0; RETAIN(font); return self; } - (void) dealloc { RELEASE(font); [super dealloc]; } /* Data source */ - (void) setDataSource: (id)anObject { if ([anObject respondsToSelector:@selector(numberOfCharactersInCharactersView:)] == NO) { [NSException raise: NSInternalInconsistencyException format: @"Data source does not respond to " @"numberOfCharactersInCharactersView:"]; } else if ([anObject respondsToSelector:@selector(charactersView:characterAtIndex:)] == NO) { [NSException raise: NSInternalInconsistencyException format: @"Data source does not respond to " @"charactersView:characterAtIndex:"]; } dataSource = anObject; [self setNeedsDisplay: YES]; } - (id) dataSource { return dataSource; } - (void) setDelegate: (id)anObject { delegate = anObject; } - (id) delegate { return delegate; } - (void) setFont: (NSFont *)newFont { ASSIGN(font, newFont); [self setNeedsDisplay: YES]; } - (NSFont *) font { return font; } - (void) setSelectedIndex: (unsigned int)newSelectedIndex { if (selectedIndex != newSelectedIndex && newSelectedIndex < [dataSource numberOfCharactersInCharactersView: self]) { if (length > 0) { [self setNeedsDisplayInRect: rectForIndex(selectedIndex)]; [self setNeedsDisplayInRect: rectForIndex(newSelectedIndex)]; } else { [self setNeedsDisplay: YES]; } selectedIndex = newSelectedIndex; } if ([delegate respondsToSelector:@selector(selectionDidChangeInCharactersView:)] == YES) { [delegate selectionDidChangeInCharactersView: self]; } } - (unsigned int) selectedIndex { return selectedIndex; } /* Mouse Events */ - (void) mouseDown: (NSEvent *)theEvent { NSPoint point = [self convertPoint: [theEvent locationInWindow] fromView: nil]; unsigned int newSelectedIndex = ((unsigned int)floorf(point.y / height) * columns) + (unsigned int)floorf(point.x / width); [self setSelectedIndex: newSelectedIndex]; } /* Drawing */ - (BOOL) isFlipped { return YES; } - (void) drawRect: (NSRect)rect { length = [dataSource numberOfCharactersInCharactersView: self]; width = [font defaultLineHeightForFont]; /*[font maximumAdvancement].width*/ columns = (int)floorf([self frame].size.width / width); width = [self frame].size.width / columns; height = [font defaultLineHeightForFont]; rows = (int)ceilf((float)length / (float)columns); if ((rows * height) != [self frame].size.height) { [self setFrameSize: NSMakeSize([self frame].size.width, rows * height)]; } int i = 1; [[NSColor whiteColor] set]; [NSBezierPath fillRect: rect]; [[NSColor selectedTextBackgroundColor] set]; [NSBezierPath fillRect: rectForIndex(selectedIndex)]; /*NSBezierPath *path = [[NSBezierPath alloc] init]; [[NSColor gridColor] set]; while (i < columns) { [path moveToPoint: NSMakePoint(i * width, 0.0)]; [path lineToPoint: NSMakePoint(i * width, [self frame].size.height)]; ++i; } i = 1; while (i < rows) { [path moveToPoint: NSMakePoint(0.0, i * height)]; [path lineToPoint: NSMakePoint([self frame].size.width, i * height)]; ++i; } [path stroke];*/ #ifndef GNUSTEP NSCharacterSet *fontCharacterSet = [font coveredCharacterSet]; #endif /* Text system components */ NSTextStorage *textStorage; NSLayoutManager *layoutManager; /* Set up text system */ textStorage = [[NSTextStorage alloc] init]; layoutManager = [[NSLayoutManager alloc] init]; [textStorage addLayoutManager: layoutManager]; RELEASE(layoutManager); /* Retained by textStorage */ NSDictionary *attributes = [NSDictionary dictionaryWithObject: font forKey: NSFontAttributeName]; i = 0; while (i < length) { NSRect charRect = NSInsetRect(rectForIndex(i), width - (width * 2), height - (height * 2)); if (NSContainsRect(rect, charRect) || NSIntersectsRect(charRect, rect) || NSContainsRect(charRect, rect)) { unichar character = [dataSource charactersView: self characterAtIndex: i]; NSAttributedString *string = [[NSAttributedString alloc] initWithString: [NSString stringWithCharacters: &character length: 1] attributes: attributes]; [textStorage setAttributedString: string]; float glyphWidth = [font advancementForGlyph: [layoutManager glyphAtIndex: 0]].width; #ifndef GNUSTEP if ((!(glyphWidth > 0.0)) || (![fontCharacterSet characterIsMember: character])) #else /* GNUstep's NSFont -coveredCharacterSet or NSCharacterSet is broken */ if (!(glyphWidth > 0.0)) #endif { [textStorage setAttributedString: [[NSAttributedString alloc] initWithString: @"?" attributes: attributes]]; [textStorage addAttribute: NSForegroundColorAttributeName value: [NSColor lightGrayColor] range: NSMakeRange(0, [textStorage length])]; glyphWidth = [font advancementForGlyph: [layoutManager glyphAtIndex: 0]].width; } NSPoint point = NSMakePoint((((i < columns) ? i : (i % columns)) * width) + ((width - glyphWidth) / 2.0), ((floorf((float)i / (float)columns)) * height) /*+ (([font capHeight] - height) / 2.0)*/); [textStorage drawAtPoint: point]; } ++i; } } @end FontManager-master/PQCompat.h000066400000000000000000000011511205612570300164040ustar00rootroot00000000000000/* * PQCompat.h - Font Manager * * Mac OS X compatibility. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/24/07 * License: Modified BSD license (see file COPYING) */ #ifndef GNUSTEP #define AUTORELEASE(object) [object autorelease] #define RELEASE(object) [object release] #define RETAIN(object) [object retain] #define ASSIGN(object, value) ({\ id __value = (id)(value); \ id __object = (id)(object); \ if (__value != __object) { \ if (__value != nil) \ [__value retain]; \ object = __value; \ if (__object != nil) \ [__object release]; \ }}) #endif FontManager-master/PQController.h000066400000000000000000000014201205612570300173030ustar00rootroot00000000000000/* * PQController.h - Font Manager * * Controller for installed font list & main window. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/24/07 * License: Modified BSD license (see file COPYING) */ #import #import #import "PQSampleController.h" #import "PQFontFamily.h" @interface PQController : NSObject { IBOutlet NSOutlineView *fontList; IBOutlet NSTextField *fontsInfoField; IBOutlet NSTableView *groupList; IBOutlet PQSampleController *sampleController; IBOutlet NSWindow *window; IBOutlet NSSplitView *splitView; IBOutlet NSBox *groupsBox; IBOutlet NSBox *fontsBox; IBOutlet NSBox *sampleBox; NSMutableArray *fontFamilies; /* All font families */ } - (void) updateSample; @end FontManager-master/PQController.m000066400000000000000000000255131205612570300173210ustar00rootroot00000000000000/* * PQController.m - Font Manager * * Controller for installed font list & main window. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/24/07 * License: 3-Clause BSD license (see file COPYING) */ #import "PQController.h" #import "PQFontManager.h" #import "PQFontDocument.h" #import "PQCompat.h" const float groupsBoxMinWidth = 100.0 + 16.0; const float fontsBoxMinWidth = 100.0; const float sampleBoxMinWidth = 220.0; @implementation PQController - (id) init { [super init]; /* Create an array of font families */ PQFontManager *fontManager = (PQFontManager *)[PQFontManager sharedFontManager]; NSArray *fontFamilyNames = [fontManager availableFontFamilies]; fontFamilies = [[NSMutableArray alloc] init]; NSEnumerator *familyNamesEnum = [fontFamilyNames objectEnumerator]; NSString *currentName; while ((currentName = [familyNamesEnum nextObject])) { NSArray *members = [fontManager availableMembersOfFontFamily: currentName]; NSMutableArray *newMembers = [[NSMutableArray alloc] init]; NSArray *currentMember; NSEnumerator *membersEnum = [members objectEnumerator]; while ((currentMember = [membersEnum nextObject])) { [newMembers addObject:[currentMember objectAtIndex:0]]; } PQFontFamily *newFontFamily = [[PQFontFamily alloc] initWithName: currentName members: newMembers]; [fontFamilies addObject:newFontFamily]; } [fontFamilies sortUsingSelector:@selector(caseInsensitiveCompare:)]; RETAIN(fontFamilies); return self; } - (void) awakeFromNib { [self updateSample]; /* Values that should be set in MainMenu.gorm, but aren't */ NSTableColumn * fontListColumn = [[fontList tableColumns] objectAtIndex: 0]; [[fontListColumn headerCell] setTitle: @"Fonts"]; [fontListColumn setEditable: NO]; [[[[groupList tableColumns] objectAtIndex: 0] headerCell] setTitle: @"Groups"]; [splitView setDelegate: self]; [fontList sizeLastColumnToFit]; [groupList sizeLastColumnToFit]; float windowMinWidth = (([splitView dividerThickness] * 2) + groupsBoxMinWidth + fontsBoxMinWidth + sampleBoxMinWidth); [window setMinSize: NSMakeSize(windowMinWidth, [window minSize].height)]; int fontsCount = [fontFamilies count]; if (fontsCount < 2) { [fontsInfoField setStringValue: [NSString stringWithFormat:@"%i %@", fontsCount, NSLocalizedString(@"family", nil)]]; } else { [fontsInfoField setStringValue: [NSString stringWithFormat:@"%i %@", fontsCount, NSLocalizedString(@"families", nil)]]; } [fontList setTarget: self]; [fontList setDoubleAction: @selector(openSelected:)]; } /* Split view data source */ - (float) splitView: (NSSplitView *)sender constrainMaxCoordinate: (float)proposedMax ofSubviewAt: (int)offset { if (offset == 0) { /* FUTURE: if ([sender isSubviewCollapsed: sampleBox]) { return ([sender frame].size.width - 128.0); } else { return ([sender frame].size.width - [sampleBox frame].size.width - 128.0); } */ /* NOW: */ return ([sender frame].size.width - [sampleBox frame].size.width - fontsBoxMinWidth - ([sender dividerThickness] * 2)); } else if (offset == 1) { return ([sender frame].size.width - sampleBoxMinWidth - [sender dividerThickness]); } /* Else */ return proposedMax; } - (float) splitView: (NSSplitView *)sender constrainMinCoordinate: (float)proposedMin ofSubviewAt: (int)offset { if (offset == 0) { return groupsBoxMinWidth; } else if (offset == 1) { return ([groupsBox frame].size.width + fontsBoxMinWidth + [sender dividerThickness]); } /* Else */ return proposedMin; } /* FUTURE: - (BOOL) splitView: (NSSplitView *)sender canCollapseSubview: (NSView *)subview { if (subview == sampleBox) { return YES; } / * Else * / return NO; } */ - (void) splitView: (NSSplitView *)sender resizeSubviewsWithOldSize: (NSSize)oldSize { NSSize newSize = [splitView frame].size; float differance = newSize.width - oldSize.width; if (differance > 0) { [sampleBox setFrameSize: NSMakeSize(([sampleBox frame].size.width + differance), newSize.height)]; } else if (differance < 0) { if (([sampleBox frame].size.width + differance) > sampleBoxMinWidth) { [sampleBox setFrameSize: NSMakeSize(([sampleBox frame].size.width + differance), newSize.height)]; } else { differance -= (sampleBoxMinWidth - [sampleBox frame].size.width); /* Split the rest between the remaining views */ /* We assume that the window's minimum size is correct */ float groupsBoxWidth = [groupsBox frame].size.width; float fontsBoxWidth = [fontsBox frame].size.width; float groupsBoxDifferance = (int)(differance * (groupsBoxWidth / (groupsBoxWidth + fontsBoxWidth))); float fontsBoxDifferance = (differance - groupsBoxDifferance); groupsBoxWidth += groupsBoxDifferance; fontsBoxWidth += fontsBoxDifferance; /* Avoid resizing to small if possible */ if (fontsBoxWidth < fontsBoxMinWidth) { groupsBoxDifferance += (fontsBoxWidth - fontsBoxMinWidth); fontsBoxDifferance += (fontsBoxMinWidth - fontsBoxWidth); groupsBoxWidth += (fontsBoxWidth - fontsBoxMinWidth); fontsBoxWidth = fontsBoxMinWidth; } else if (groupsBoxWidth < groupsBoxMinWidth) { fontsBoxDifferance += (groupsBoxMinWidth - fontsBoxWidth); groupsBoxDifferance += (groupsBoxMinWidth - groupsBoxWidth); fontsBoxWidth += (groupsBoxWidth - groupsBoxMinWidth); groupsBoxWidth = groupsBoxMinWidth; } [groupsBox setFrameSize: NSMakeSize(groupsBoxWidth, newSize.height)]; [fontsBox setFrame: NSMakeRect(([fontsBox frame].origin.x + groupsBoxDifferance), [fontsBox frame].origin.y, fontsBoxWidth, newSize.height)]; [sampleBox setFrame: NSMakeRect(([sampleBox frame].origin.x + differance), [sampleBox frame].origin.y, sampleBoxMinWidth, newSize.height)]; } } else { [sampleBox setFrameSize: NSMakeSize([sampleBox frame].size.width, newSize.height)]; } [groupsBox setFrameSize: NSMakeSize([groupsBox frame].size.width, newSize.height)]; [fontsBox setFrameSize: NSMakeSize([fontsBox frame].size.width, newSize.height)]; } /* Groups [table] view data source */ - (int) numberOfRowsInTableView: (NSTableView *)aTableView { return 1; // TEMP } - (id) tableView: (NSTableView *)aTableView objectValueForTableColumn: (NSTableColumn *)aTableColumn row: (int)rowIndex { return @"All"; // TEMP } /* Fonts [outline] view data source */ - (id) outlineView: (NSOutlineView *)outlineView objectValueForTableColumn: (NSTableColumn *)tableColumn byItem: (id)item { if ([item isKindOfClass:[PQFontFamily class]]) { return [(PQFontFamily *)item name]; } else if ([item isKindOfClass:[NSString class]]) { NSString *familyName = [[NSFont fontWithName: item size: 0.0] familyName]; NSArray *familyMembersInfo = [[PQFontManager sharedFontManager] availableMembersOfFontFamily: familyName]; NSEnumerator *membersEnum = [familyMembersInfo objectEnumerator]; NSArray *currentMember; while ((currentMember = [membersEnum nextObject])) { if ([[currentMember objectAtIndex: 0] isEqualToString: item]) { return [currentMember objectAtIndex: 1]; } } } /* Else: something is wrong */ return nil; } - (BOOL) outlineView: (NSOutlineView *)outlineView isItemExpandable: (id)item { if (item == nil) /* Is this even necessary? */ { return YES; } else if ([item isKindOfClass:[PQFontFamily class]]) { return [item hasMultipleMembers]; } /* else */ return NO; } - (int) outlineView: (NSOutlineView *)outlineView numberOfChildrenOfItem: (id)item { if (item == nil) { return [fontFamilies count]; } else if ([item isKindOfClass:[PQFontFamily class]]) { return [[item members] count]; } /* else */ return 0; } - (id) outlineView: (NSOutlineView *)outlineView child: (int)index ofItem: (id)item { if (item == nil) { return [fontFamilies objectAtIndex:index]; } else if ([item isKindOfClass:[PQFontFamily class]]) { return [[item members] objectAtIndex:index]; } /* Else: something is wrong */ return nil; } /* Watch for selection changes */ - (void) tableViewSelectionDidChange: (NSNotification *)aNotification { // TODO: Until we implement groups. } - (void) outlineViewSelectionDidChange: (NSNotification *)notification { [self updateSample]; } - (void) openSelected: (id)sender { // TODO: This method's implementation is a quick hack based on -updateSample. // Rewite needed. NSIndexSet *selectedRows = [fontList selectedRowIndexes]; NSEnumerator *itemEnum = [fontFamilies objectEnumerator]; PQFontFamily *currentItem; NSMutableArray *selectedItems = [[NSMutableArray alloc] init]; while ((currentItem = [itemEnum nextObject])) { if ([selectedRows containsIndex:[fontList rowForItem:currentItem]]) { [selectedItems addObjectsFromArray:[currentItem members]]; } else { NSEnumerator *membersEnum = [[currentItem members] objectEnumerator]; NSString *currentMember; while ((currentMember = [membersEnum nextObject])) { if ([selectedRows containsIndex:[fontList rowForItem:currentMember]]) { [selectedItems addObject:currentMember]; } } } } if ([sender clickedRow] > -1 && [selectedItems count] > 0) { /* PQFontDocument *document = [[NSDocumentController sharedDocumentController] openUntitledDocumentOfType: @"PQFontDocument" display: YES]; [document setFont: [selectedItems objectAtIndex: 0]]; */ PQFontDocument *document = [[NSDocumentController sharedDocumentController] makeUntitledDocumentOfType: @"PQFontDocument"]; [document setFont: [selectedItems objectAtIndex: 0]]; [[NSDocumentController sharedDocumentController] addDocument: document]; [document makeWindowControllers]; [document showWindows]; } } - (void) updateSample { // NOTE: This method probably could be better. NSIndexSet *selectedRows = [fontList selectedRowIndexes]; NSEnumerator *itemEnum = [fontFamilies objectEnumerator]; PQFontFamily *currentItem; NSMutableArray *selectedItems = [[NSMutableArray alloc] init]; while ((currentItem = [itemEnum nextObject])) { if ([selectedRows containsIndex:[fontList rowForItem:currentItem]]) { [selectedItems addObjectsFromArray:[currentItem members]]; } else { NSEnumerator *membersEnum = [[currentItem members] objectEnumerator]; NSString *currentMember; while ((currentMember = [membersEnum nextObject])) { if ([selectedRows containsIndex:[fontList rowForItem:currentMember]]) { [selectedItems addObject:currentMember]; } } } /* Else: something is wrong */ } [sampleController setFonts:selectedItems]; } - (void) dealloc { RELEASE(fontFamilies); [super dealloc]; } @end FontManager-master/PQFontDocument.h000077500000000000000000000017301205612570300175740ustar00rootroot00000000000000/* * PQFontDocument.h - Font Manager * * Class which represents a font document. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 11/30/07 * License: 3-Clause BSD license (see file COPYING) */ #import #ifdef GNUSTEP #import #else #import #endif #import "PQCharactersController.h" #import "PQSampleController.h" @interface PQFontDocument : NSDocument { NSButton *installButton; NSButton *installAllButton; NSPopUpButton *facePopUpButton; NSTableView *infoView; NSTabView *tabView; NSString *fontName; PQSampleController *sampleController; PQCharactersController *charactersController; NSMutableDictionary *fontInfo; NSMutableArray *fontInfoIndex; #ifndef GNUSTEP ATSFontContainerRef fontContainer; #endif } - (void) install: (id)sender; - (void) installAll: (id)sender; - (void) selectFace: (id)sender; - (void) setFont: (NSString *)newFont; @end FontManager-master/PQFontDocument.m000077500000000000000000000101411205612570300175750ustar00rootroot00000000000000/* * PQFontDocument.m - Font Manager * * Class which represents a font document. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 11/30/07 * License: 3-Clause BSD license (see file COPYING) */ #import "PQFontDocument.h" #import "PQFontManager.h" #import "PQCompat.h" @implementation PQFontDocument - (id) init { [super init]; fontInfo = [[NSMutableDictionary alloc] init]; fontInfoIndex = [[NSMutableArray alloc] init]; fontName = [[NSString alloc] initWithString: @"Bitstream Vera Sans"]; return self; } - (void) awakeFromNib { /* Values that should be set in FontDocument.gorm, but aren't */ NSTableColumn *keyColumn = [[infoView tableColumns] objectAtIndex: 0]; NSTableColumn *valueColumn = [[infoView tableColumns] objectAtIndex: 1]; [[keyColumn headerCell] setTitle: @"Key"]; [[valueColumn headerCell] setTitle: @"Value"]; [keyColumn setEditable: NO]; [valueColumn setEditable: NO]; [keyColumn setWidth: 128.0]; [infoView sizeLastColumnToFit]; // FIXME: [facePopUpButton setEnabled: NO]; [facePopUpButton setHidden: YES]; [installAllButton setEnabled: NO]; [installAllButton setHidden: YES]; [sampleController setFonts: [NSArray arrayWithObject: fontName]]; [charactersController setFont: fontName]; } - (void) dealloc { RELEASE(fontName); RELEASE(fontInfo); RELEASE(fontInfoIndex); [super dealloc]; } - (void) setFont: (NSString *)newFont { ASSIGN(fontName, newFont); [sampleController setFonts: [NSArray arrayWithObject: fontName]]; [charactersController setFont: fontName]; } - (void) selectFace: (id)sender { } - (void) installAll: (id)sender { if ([[installButton title] isEqualToString:@"Install All"]) { [installButton setTitle:@"Uninstall All"]; } else { [installButton setTitle:@"Install All"]; } } - (void) install: (id)sender { if ([[installButton title] isEqualToString:@"Install"]) { [installButton setTitle:@"Uninstall"]; } else { [installButton setTitle:@"Install"]; } } - (int) numberOfRowsInTableView: (NSTableView *)aTableView { return [fontInfoIndex count]; } - (id) tableView: (NSTableView *)aTableView objectValueForTableColumn: (NSTableColumn *)aTableColumn row: (int)rowIndex { if ([[[aTableColumn headerCell] title] isEqualToString: @"Key"]) { return [fontInfoIndex objectAtIndex: rowIndex]; } else { return [fontInfo objectForKey: [fontInfoIndex objectAtIndex: rowIndex]]; } return nil; } - (NSString *) windowNibName { return @"FontDocument"; } - (NSString *)displayName { return [[NSFont fontWithName: fontName size: 0] displayName]; } - (BOOL) readFromFile: (NSString *)fileName ofType: (NSString *)docType { #ifdef GNUSTEP /*ASSIGN(fontName, [[[(PQFontManager *)[PQFontManager sharedFontManager] makeAvailableFontAtPath: fileName] objectAtIndex: 0] objectAtIndex: 0]);*/ //ASSIGN(fontName, @"Luxi Sans Roman"); //TEMP fontName = @"Bitstream Vera Sans"; #else // In theory this code should make the font available, I'm not sure if it // works though. Any way, after it's activated I'm not sure how to find out // it's postscript name. //FSRef iFile; //char *path = [fileName UTF8String]; // //if (! FSPathMakeRef((UInt8 *)path, &iFile, NO)) //{ // return NO; //} // //if (ATSFontActivateFromFileSpecification(&iFile, kATSFontContextLocal, // kATSFontFormatUnspecified, NULL, kATSOptionFlagsDefault, &fontContainer) != // kATSIterationCompleted) //{ // return NO; //} // Just so it runs we'll use Helvetica instead. ASSIGN(fontName, @"Helvetica"); //TEMP #endif if (fontName == nil) { return NO; } NSFont *font = [NSFont fontWithName: fontName size: 0]; [fontInfoIndex addObject:@"Name"]; [fontInfo setObject:[font displayName] forKey:@"Name"]; [fontInfoIndex addObject:@"Family Name"]; [fontInfo setObject:[font familyName] forKey:@"Family Name"]; [fontInfoIndex addObject:@"Postscript Name"]; [fontInfo setObject:[font fontName] forKey:@"Postscript Name"]; [fontInfoIndex addObject:@"File"]; [fontInfo setObject:fileName forKey:@"File"]; return YES; } - (void) close { // [[GSFontEnumerator sharedEnumerator] makeFontUnvailable: font] [super close]; } @end FontManager-master/PQFontFamily.h000066400000000000000000000013031205612570300172300ustar00rootroot00000000000000/* * PQFontFamily.h - Font Manager * * Class which represents a font family. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/24/07 * License: Modified BSD license (see file COPYING) */ #import #import @interface PQFontFamily : NSObject { NSString *name; NSArray *members; } /* Designated initializer */ - (id) initWithName: (NSString *)aName members: (NSArray *)someMembers; - (void) setName: (NSString *)aName; - (NSString *) name; - (void) setMembers: (NSArray *)someMembers; - (NSArray *) members; - (BOOL) hasMultipleMembers; - (NSComparisonResult) caseInsensitiveCompare: (PQFontFamily *)aFontFamily; @end FontManager-master/PQFontFamily.m000066400000000000000000000021271205612570300172420ustar00rootroot00000000000000/* * PQFontFamily.m - Font Manager * * Class which represents a font family. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/24/07 * License: Modified BSD license (see file COPYING) */ #import "PQFontFamily.h" #import "PQCompat.h" @implementation PQFontFamily - (id) init { return [self initWithName: @"" members: [NSArray arrayWithObject:@""]]; } - (id) initWithName: (NSString *)aName members: (NSArray *)someMembers { [super init]; ASSIGN(name, aName); ASSIGN(members, someMembers); return self; } - (void) setName: (NSString *)aName { ASSIGN(name, aName); } - (NSString *) name { return name; } - (void) setMembers: (NSArray *)someMembers { ASSIGN(members, someMembers); } - (NSArray *) members { return members; } - (BOOL) hasMultipleMembers { if (2 > [members count]) { return NO; } /* else */ return YES; } - (NSComparisonResult) caseInsensitiveCompare: (PQFontFamily *)aFontFamily { return [[self name] caseInsensitiveCompare:[aFontFamily name]]; } - (void) dealloc { RELEASE(name); RELEASE(members); [super dealloc]; } @end FontManager-master/PQFontManager.h000077500000000000000000000007111205612570300173660ustar00rootroot00000000000000/* * PQFontManager.h - Font Manager * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: December 16, 2007 * License: 3-Clause BSD license (see file COPYING) */ #import #import @interface PQFontManager : NSFontManager { } - (NSArray *) makeAvailableFontAtPath: (NSString *)path; - (BOOL) makeUnavailableFont: (NSString *)font; - (NSString *) pathToFont: (NSString *)font; @end FontManager-master/PQFontManager.m000077500000000000000000000012301205612570300173700ustar00rootroot00000000000000/* * PQFontManager.m - Font Manager * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: December 16, 2007 * License: 3-Clause BSD license (see file COPYING) */ #import "PQFontManager.h" #import "PQCompat.h" @implementation PQFontManager - (NSArray *) makeAvailableFontAtPath: (NSString *)path { // TEMP: //return [NSArray arrayWithObjects: // [NSArray arrayWithObjects: @"Helvetica", "Regular", 5, 0, NO, nil], nil]; return nil; } - (BOOL) makeUnavailableFont: (NSString *)font { return NO; } - (NSString *) pathToFont: (NSString *)font { //return @"/usr/home/isaiah/Desktop/Ezra SIL.ttf"; //TEMP return nil; } @end FontManager-master/PQFontSampleView.h000066400000000000000000000025371205612570300200750ustar00rootroot00000000000000/* * PQFontSampleView.h - Font Manager * * A font sampling view. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/28/07 * License: Modified BSD license (see file COPYING) */ #import #import @interface PQFontSampleView : NSView { id dataSource; NSString *sampleText; int fontSize; NSColor *foregroundColor; NSColor *backgroundColor; /* Text system components */ NSTextStorage *textStorage; NSLayoutManager *layoutManager; NSTextContainer *textContainer; BOOL fontAttributesNeedUpdate; BOOL autoSize; } - (void) setDataSource: (id)anObject; - (id) dataSource; - (void) setSampleText: (NSString *)someText; - (NSString *) sampleText; - (void) setFontSize: (int)aSize; - (int) fontSize; - (void) setAutoSize: (BOOL)flag; - (BOOL) autoSize; - (void) setConstrainedFrameSize: (NSSize)aSize; - (void) setForegroundColor: (NSColor *)aColor; - (NSColor *) foregroundColor; - (void) setBackgroundColor: (NSColor *)aColor; - (NSColor *) backgroundColor; @end @interface NSObject (PQFontSampleDataSource) - (int) numberOfFontsInFontSampleView: (PQFontSampleView *)aFontSampleView; - (NSString *) fontSampleView: (PQFontSampleView *)aFontSampleView fontAtIndex: (int)rowIndex; - (BOOL) fontsShouldChangeInFontSampleView: (PQFontSampleView *)aFontSampleView; @end FontManager-master/PQFontSampleView.m000066400000000000000000000156131205612570300201010ustar00rootroot00000000000000/* * PQFontSampleView.m - Font Manager * * A font sampling view. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/28/07 * License: Modified BSD license (see file COPYING) */ #import "PQFontSampleView.h" #import "PQCompat.h" @implementation PQFontSampleView - (id) initWithFrame: (NSRect)frame { [super initWithFrame: frame]; sampleText = [[NSString alloc] init]; fontSize = 24; foregroundColor = [NSColor blackColor]; backgroundColor = [NSColor whiteColor]; /* Set up text system */ textStorage = [[NSTextStorage alloc] init]; layoutManager = [[NSLayoutManager alloc] init]; textContainer = [[NSTextContainer alloc] init]; [layoutManager addTextContainer: textContainer]; [textStorage addLayoutManager: layoutManager]; fontAttributesNeedUpdate = YES; autoSize = NO; RETAIN(sampleText); RETAIN(foregroundColor); RETAIN(backgroundColor); return self; } - (void) dealloc { RELEASE(sampleText); RELEASE(foregroundColor); RELEASE(backgroundColor); [super dealloc]; } /* Data source */ - (void) setDataSource: (id)anObject { if ([anObject respondsToSelector:@selector(numberOfFontsInFontSampleView:)] == NO) { [NSException raise: NSInternalInconsistencyException format: @"Data source does not respond to " @"numberOfFontsInFontSampleView:"]; } else if ([anObject respondsToSelector:@selector(fontSampleView:fontAtIndex:)] == NO) { [NSException raise: NSInternalInconsistencyException format: @"Data source does not respond to " @"fontSampleView:fontAtIndex:"]; } dataSource = anObject; [self setNeedsDisplay: YES]; } - (id) dataSource { return dataSource; } /* View properties */ - (void) setSampleText: (NSString *)someText { ASSIGN(sampleText, someText); fontAttributesNeedUpdate = YES; [self setNeedsDisplay: YES]; } - (NSString *) sampleText { return sampleText; } - (void) setFontSize: (int)aSize { fontSize = aSize; fontAttributesNeedUpdate = YES; [self setNeedsDisplay: YES]; } - (int) fontSize { return fontSize; } /* Foreground and background colors */ - (void) setForegroundColor: (NSColor *)aColor { ASSIGN(foregroundColor, aColor); [self setNeedsDisplay: YES]; } - (NSColor *) foregroundColor { return foregroundColor; } - (void) setBackgroundColor: (NSColor *)aColor { ASSIGN(backgroundColor, aColor); [self setNeedsDisplay: YES]; } - (NSColor *) backgroundColor { return backgroundColor; } /* Resizing */ - (void) setAutoSize: (BOOL)flag { autoSize = flag; } - (BOOL) autoSize { return autoSize; } - (void) setConstrainedFrameSize: (NSSize)aSize { // FIXME: Shouldn't take some things for granted. (See the comments) id superview = [self superview]; NSSize currentSize = [self frame].size; NSSize newSize = NSZeroSize; if ([superview isKindOfClass: [NSClipView class]] == YES) { if ([superview documentView] == self) { newSize = [superview bounds].size; } } /* If should resize horizontally */ /* Fun stuff */ /* Else */ newSize.width = currentSize.width; /* If should resize vertically */ if (newSize.height < aSize.height) { newSize.height = aSize.height; } [self setFrameSize: newSize]; } /* Drawing */ - (BOOL) isFlipped { return YES; } - (void) drawRect: (NSRect)rect { BOOL shouldUnlockFocus = NO; BOOL sampleChanged = NO; /* Set up text system */ [textContainer setContainerSize: NSMakeSize([self frame].size.width, 50000)]; /* Create font sample */ if ([dataSource fontsShouldChangeInFontSampleView: self] == YES || fontAttributesNeedUpdate == YES) { sampleChanged = YES; int fontsCount = [[self dataSource] numberOfFontsInFontSampleView: self]; int index = 0; /* Font sample components */ NSString *currentFontName; NSString *displayName; NSFont *currentFont; NSString *currentLabel; NSMutableDictionary *currentAttributes = [[NSMutableDictionary alloc] init]; fontAttributesNeedUpdate = NO; [textStorage deleteCharactersInRange: NSMakeRange(0, [textStorage length])]; while (index < fontsCount) { /* Find next font */ currentFontName = [dataSource fontSampleView: self fontAtIndex: index]; currentFont = [NSFont fontWithName: currentFontName size: [self fontSize]]; /* Add label to text storage */ [currentAttributes setValue: [NSFont labelFontOfSize: 0] forKey: NSFontAttributeName]; displayName = nil; /* So we know if we've found it yet. */ #ifdef GNUSTEP /* GNUsteps -displayName returns the post script name instead of a human friendly name, so we get our own here. */ NSString *familyName = [currentFont familyName]; NSArray *familyMembersInfo = [[NSFontManager sharedFontManager] availableMembersOfFontFamily: familyName]; NSEnumerator *membersEnum = [familyMembersInfo objectEnumerator]; NSArray *currentMember; while ((currentMember = [membersEnum nextObject])) { if ([[currentMember objectAtIndex: 0] isEqualToString: currentFontName]) { displayName = [NSString stringWithFormat: @"%@ %@", familyName, [currentMember objectAtIndex: 1]]; } } if (displayName == nil) /* We haven't found it yet. */ { displayName = familyName; } #else /* If were not using GNUstep, it's probably safe to assume that -displayName returns what we want */ displayName = [currentFont displayName]; #endif if (index == 0) { currentLabel = [NSString stringWithFormat: @"%@:\n", displayName]; } else { currentLabel = [NSString stringWithFormat: @"\n\n%@:\n", displayName]; } [textStorage appendAttributedString: [[NSAttributedString alloc] initWithString: currentLabel attributes: currentAttributes]]; /* Add font sample to text storage */ [currentAttributes setValue: currentFont forKey: NSFontAttributeName]; [textStorage appendAttributedString: [[NSAttributedString alloc] initWithString: [self sampleText] attributes: currentAttributes]]; ++index; } } if (autoSize == YES) { (void) [layoutManager glyphRangeForTextContainer: textContainer]; [self setConstrainedFrameSize: [layoutManager usedRectForTextContainer: textContainer].size]; /* Fix a drawing bug caused by resize. */ rect = [self visibleRect]; [self lockFocus]; shouldUnlockFocus = YES; } /* Add color */ [textStorage addAttribute: NSForegroundColorAttributeName value: [self foregroundColor] range: NSMakeRange(0, [textStorage length])]; [[self backgroundColor] set]; [NSBezierPath fillRect: rect]; /* Draw font sample */ NSRange rangeNeedsDrawing = [layoutManager glyphRangeForBoundingRect: rect inTextContainer: textContainer]; [layoutManager drawGlyphsForGlyphRange: rangeNeedsDrawing atPoint: NSMakePoint(0, 0)]; if (shouldUnlockFocus == YES) { [self unlockFocus]; } } @end FontManager-master/PQMain.m000066400000000000000000000006431205612570300160570ustar00rootroot00000000000000/* * PQMain.h - Font Manager * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/24/07 * License: 3-Clause license (see file COPYING) */ #import #import #import "PQFontManager.h" int main(int argc, char *argv[]) { [PQFontManager setFontManagerFactory: [PQFontManager class]]; return NSApplicationMain(argc, (const char **) argv); } FontManager-master/PQSampleController.h000066400000000000000000000017331205612570300204540ustar00rootroot00000000000000/* * PQSamplerController.h - Font Manager * * Controller for font sampler. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/24/07 * License: Modified BSD license (see file COPYING) */ #import #import #import "PQFontSampleView.h" @interface PQSampleController : NSObject { id sampleView; NSComboBox *sampleField; NSPopUpButton *samplePopUpButton; NSComboBox *sizeField; NSSlider *sizeSlider; NSColorWell *foregroundColorWell; NSColorWell *backgroundColorWell; NSArray *fonts; NSArray *defaultSampleText; NSMutableArray *sampleTextHistory; NSArray *sizes; BOOL fontsNeedUpdate; BOOL isCustom; } - (void) setFonts: (NSArray *)someFonts; - (NSArray *) fonts; - (void) setSampleTextHistory: (NSArray *)aHistory; - (NSArray *) sampleTextHistory; - (void) changeSize: (id)sender; - (void) changeColor: (id)sender; - (void) changeSampleText: (id)sender; - (void) updateControls; @end FontManager-master/PQSampleController.m000066400000000000000000000167651205612570300204740ustar00rootroot00000000000000/* * PQSamplerController.m - Font Manager * * Controller for font sampler. * * Copyright 2007 Isaiah Beerbower. * * Author: Isaiah Beerbower * Created: 05/24/07 * License: Modified BSD license (see file COPYING) */ #import "PQSampleController.h" #import "PQCompat.h" @interface PQSampleController (FontManagerPrivate) - (void) PQAddSampleTextToHistory: (NSString *)someText; @end @implementation PQSampleController - (id) init { [super init]; fonts = [[NSArray alloc] init]; defaultSampleText = [[NSArray alloc] init]; sampleTextHistory = [[NSMutableArray alloc] init]; sizes = [NSArray arrayWithObjects: [NSNumber numberWithInt:9], [NSNumber numberWithInt:10], [NSNumber numberWithInt:11], [NSNumber numberWithInt:12], [NSNumber numberWithInt:13], [NSNumber numberWithInt:14], [NSNumber numberWithInt:18], [NSNumber numberWithInt:24], [NSNumber numberWithInt:36], [NSNumber numberWithInt:48], [NSNumber numberWithInt:64], [NSNumber numberWithInt:72], [NSNumber numberWithInt:96], [NSNumber numberWithInt:144], [NSNumber numberWithInt:288], nil]; fontsNeedUpdate = YES; isCustom = NO; RETAIN(fonts); RETAIN(defaultSampleText); RETAIN(sampleTextHistory); RETAIN(sizes); return self; } - (void) awakeFromNib { if ([sampleView isKindOfClass: [PQFontSampleView class]]) { RELEASE(defaultSampleText); defaultSampleText = [NSArray arrayWithObjects: NSLocalizedString(@"PQPangram", nil), nil]; RETAIN(defaultSampleText); } else if ([sampleView isKindOfClass: [NSTextView class]]) { RELEASE(defaultSampleText); defaultSampleText = [NSArray arrayWithObjects:NSLocalizedString(@"PQParagraph", nil), NSLocalizedString(@"PQAlphabet", nil), nil]; RETAIN(defaultSampleText); [sampleTextHistory addObject: @""]; } if ([sampleView isKindOfClass: [PQFontSampleView class]]) { [sampleView setAutoSize: YES]; [sampleView setFontSize: 24]; [sampleView setSampleText: NSLocalizedString(@"PQPangram", nil)]; /* Couldn't set "Uses data source" in gorm */ #ifdef GNUSTEP [sampleField setUsesDataSource: YES]; [sampleField setDataSource: self]; #endif } else if ([sampleView isKindOfClass: [NSTextView class]]) { [sampleView setString: NSLocalizedString(@"PQParagraph", nil)]; } /* Couldn't set "Uses data source" in gorm */ #ifdef GNUSTEP [sizeField setUsesDataSource: YES]; [sizeField setDataSource: self]; #endif [self updateControls]; } - (void) dealloc { RELEASE(fonts); RELEASE(defaultSampleText); RELEASE(sampleTextHistory); RELEASE(sizes); [super dealloc]; } - (void) setFonts: (NSArray *)someFonts { ASSIGN(fonts, someFonts); if ([sampleView isKindOfClass: [PQFontSampleView class]]) { fontsNeedUpdate = YES; [sampleView setNeedsDisplay: YES]; } else if ([sampleView isKindOfClass: [NSTextView class]]) { if ([fonts count] > 0) { [sampleView setFont: [NSFont fontWithName: [fonts objectAtIndex: 0] size: [sizeSlider intValue]]]; [self updateControls]; } } } - (NSArray *) fonts { return fonts; } - (void) setSampleTextHistory: (NSArray *)aHistory { ASSIGN(sampleTextHistory, [aHistory mutableCopy]); } - (NSArray *) sampleTextHistory { return sampleTextHistory; } /* Combo box data source */ - (id) comboBox: (NSComboBox *)aComboBox objectValueForItemAtIndex: (int)index { if (aComboBox == sizeField) { return [sizes objectAtIndex:index]; } else if (aComboBox == sampleField) { return [[defaultSampleText arrayByAddingObjectsFromArray: sampleTextHistory] objectAtIndex: index]; } /* Else: something is wrong */ return nil; } - (int) numberOfItemsInComboBox: (NSComboBox *)aComboBox { if (aComboBox == sizeField) { return [sizes count]; } else if (aComboBox == sampleField) { return [[defaultSampleText arrayByAddingObjectsFromArray: sampleTextHistory] count]; } /* Else: something is wrong */ return 0; } /* Font sample view data source */ - (int) numberOfFontsInFontSampleView: (PQFontSampleView *)aFontSampleView { return [fonts count]; } - (NSString *) fontSampleView: (PQFontSampleView *)aFontSampleView fontAtIndex: (int)rowIndex { return [fonts objectAtIndex: rowIndex]; } - (BOOL) fontsShouldChangeInFontSampleView: (PQFontSampleView *)aFontSampleView { if (fontsNeedUpdate == YES) { fontsNeedUpdate = NO; return YES; } return NO; } /* Text view delegate */ - (BOOL) textView: (NSTextView *)aTextView shouldChangeTextInRange: (NSRange)affectedCharRange replacementString: (NSString *)replacementString { isCustom = YES; [samplePopUpButton selectItemAtIndex: 2]; return YES; } /* Keep controls updated */ - (void) updateControls { if ([sampleView isKindOfClass: [PQFontSampleView class]]) { [sampleField setStringValue: [sampleView sampleText]]; [sizeField setIntValue: [sampleView fontSize]]; [sizeSlider setIntValue: [sampleView fontSize]]; [sampleField reloadData]; } else if ([sampleView isKindOfClass: [NSTextView class]]) { if ([fonts count] > 0) { [sizeField setIntValue: [[sampleView font] pointSize]]; [sizeSlider setIntValue: [[sampleView font] pointSize]]; } } } - (void) changeSize: (id)sender { if ([sampleView isKindOfClass: [PQFontSampleView class]]) { [sampleView setFontSize: [sender intValue]]; } else if ([sampleView isKindOfClass: [NSTextView class]]) { if ([fonts count] > 0) { [sampleView setFont: [NSFont fontWithName: [fonts objectAtIndex: 0] size: [sender intValue]]]; } } [self updateControls]; } - (void) changeColor: (id)sender { if ([sampleView isKindOfClass: [PQFontSampleView class]]) { [sampleView setForegroundColor: [foregroundColorWell color]]; [sampleView setBackgroundColor: [backgroundColorWell color]]; } else if ([sampleView isKindOfClass: [NSTextView class]]) { [sampleView setTextColor: [foregroundColorWell color]]; [sampleView setBackgroundColor: [backgroundColorWell color]]; } } - (void) changeSampleText: (id)sender { NSString *newSampleText = nil; if ([sender isKindOfClass: [NSComboBox class]]) { newSampleText = [sampleField stringValue]; } else if ([sender isKindOfClass: [NSPopUpButton class]]) { int count = [defaultSampleText count]; if (isCustom == YES && [sampleView isKindOfClass: [NSTextView class]]) { [sampleTextHistory replaceObjectAtIndex: 0 withObject: [NSString stringWithString: [sampleView string]]]; } if ([sender indexOfSelectedItem] < count) { newSampleText = [defaultSampleText objectAtIndex: [sender indexOfSelectedItem]]; isCustom = NO; } else { newSampleText = [sampleTextHistory objectAtIndex: [sender indexOfSelectedItem] - count]; isCustom = YES; } } if ([sampleView isKindOfClass: [PQFontSampleView class]]) { [sampleView setSampleText: newSampleText]; [self PQAddSampleTextToHistory: newSampleText]; } else if ([sampleView isKindOfClass: [NSTextView class]]) { [sampleView setString: newSampleText]; } [self updateControls]; } @end @implementation PQSampleController (FontManagerPrivate) - (void) PQAddSampleTextToHistory: (NSString *)someText { if ([defaultSampleText containsObject: someText] == NO) { NSInteger index = [sampleTextHistory indexOfObject: someText]; if (index != NSNotFound) { [sampleTextHistory removeObjectAtIndex: index]; } [sampleTextHistory insertObject: someText atIndex: 0]; } if ([sampleTextHistory count] > 10) { NSRange trimRange = NSMakeRange(10, ([sampleTextHistory count] - 10)); [sampleTextHistory removeObjectsInRange:trimRange]; } } @end FontManager-master/README000066400000000000000000000007241205612570300154340ustar00rootroot00000000000000=================== Font Manager Readme =================== :Maintainer: Isaiah Beerbower :Author: Isaiah Beerbower :License: Modified BSD license (see file COPYING) :Version: 0.1 Font Manager is an app for the purpose of (guess what) managing fonts. It can currently show you your installed fonts and show samples of them. Planned features are disabling/enabling fonts and easy installation of fonts (including previewing of uninstalled fonts). FontManager-master/Resources/000077500000000000000000000000001205612570300165235ustar00rootroot00000000000000FontManager-master/Resources/Document-Font.tif000066400000000000000000001124441205612570300217170ustar00rootroot00000000000000MM*00"p0$*2(1:2XR:l<I(<$is Hd ' 'Adobe Photoshop CS2 Macintosh2007:02:17 20:19:09 image/tiff Adobe Photoshop CS2 Macintosh 2007-01-02T22:24:36-06:00 2007-02-17T20:19:09-06:00 2007-02-17T20:19:09-06:00 uuid:5BD4A5019C4211DB9B63C636263D9226 uuid:904E95B1BF9E11DBADC49147F819CD33 uuid:112b96e9-4c51-11db-8c81-d26e35c2cbb3 adobe:docid:photoshop:e42ebf5a-4c4f-11db-8c81-d26e35c2cbb3 1 720000/10000 720000/10000 2 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;6017F755211655B2F6BBAFB7AC7D7E56 48 48 1 36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;AD2B8FD8FD5FF155709B1A1CD1A0E496 3 sRGB IEC61966-2.1 8BIM8BIM%F &Vڰw8BIM com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-02-18T02:17:19Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-02-18T02:17:19Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-02-18T02:17:19Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-02-18T02:17:19Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-02-18T02:17:19Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.0 0.0 734 576 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-02-18T02:17:19Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -18 -18 774 594 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-02-18T02:17:19Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMPaperName na-letter com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.0 0.0 734 576 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-02-18T02:17:19Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -18 -18 774 594 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-02-18T02:17:19Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.ppd.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.ppd.PMPaperName US Letter com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket 8BIMxHH@Rg(HH(dh 8BIMHH8BIM&?8BIM Transparency8BIM Transparency8BIMd8BIM8BIM x8BIM8BIM 8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMO00 Document-Font00nullboundsObjcRct1Top longLeftlongBtomlong0Rghtlong0slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong0Rghtlong0urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?8BIM8BIM 00JFIFHH Adobe_CMAdobed            00"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?+\[S4!U?5YG~E\qcWj[lLM YUO c\ns;YƱ-es_S~`;S<B|o濶"[?ȨnJqۘϫyރk49kKбsl?ևD~S^+oP4KY]U^mhZI,!j Ԕ货h^oIO,"̝OjZ˚@0}&gc? An6=Mig;j-SKv[ ?D#n 16ۧH$Q?׳ ;ʶ7 s 8BIM!UAdobe PhotoshopAdobe Photoshop CS2 HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km=LLLLLLLLLLLLLLLLLLLLLLLLGB<6/'򭭭$(*/4 ; @ B ETTT~}}dde HUUUUTTwwwJ !kkk Jkkk Jlll I___!!!bbb ICCC=>>111,,,GGGmmmuuu Ipppffe Innnhhg Innnkjj Innnjjj Innnjjj Imnnjjj Immnjjj Innojjj Igggjjj IUUU fff I! ?>> Iddeuuv I I I I I I I I I I IKR&&&r'''u''&t''&t''&t''&t''&t''&t''&t'&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t&&&t%%%s(00FontManager-master/Resources/FontManager.tif000066400000000000000000001125301205612570300214320ustar00rootroot00000000000000II*00*q0$&(1.2LR:`I(;i,sH d ' 'Adobe Photoshop CS2 Macintosh2007:07:06 01:50:20 uuid:1EAA294D2CE011DCA8B0A89734DE1356 uuid:1EAA294E2CE011DCA8B0A89734DE1356 uuid:1EAA294C2CE011DCA8B0A89734DE1356 uuid:1EAA294C2CE011DCA8B0A89734DE1356 2007-07-06T01:50:20-03:00 2007-07-06T01:50:20-03:00 2007-07-06T01:50:20-03:00 Adobe Photoshop CS2 Macintosh image/tiff 3 sRGB IEC61966-2.1 1 720000/10000 720000/10000 2 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;B6198247FF4C3E0188FB12ED07459953 48 48 1 36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;EC01E9134ECF5125A957DB3B7C25DACA 8BIM%8BIM com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-07-06T04:49:59Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-07-06T04:49:59Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-07-06T04:49:59Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-07-06T04:49:59Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-07-06T04:49:59Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.0 0.0 734 576 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-07-06T04:50:00Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -18 -18 774 594 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-07-06T04:50:00Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMPaperName na-letter com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.0 0.0 734 576 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-07-06T04:49:59Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -18 -18 774 594 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2007-07-06T04:49:59Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.ppd.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.ppd.PMPaperName US Letter com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket 8BIMxHH@Rg(HH(dh 8BIMHH8BIM&?8BIM Transparency8BIM Transparency8BIMd8BIM8BIM 8BIM8BIM 8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIM50000nullboundsObjcRct1Top longLeftlongBtomlong0Rghtlong0slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong0Rghtlong0urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?8BIM8BIM 00mJFIFHH Adobe_CMAdobed            00"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?T&QfeԱY@e|TߙsϖҞ4KĤ5ZC.BKI*F˱qi c"`Eog*S:ڛ 'eKZg_َ*nE&æ{G ޛ@)[`1^{d @8+,s^mvt}?I߼z׏p',M}M !pTxs^׆9_Qkm54i3ۉCΦ^湆4$],eǵpk {ZwIMW܊Iosf6zc~'$&h\CDܸl۫w]ev2l{\dliԊ>of6=՝eѺY9vVC̾GںgP~5OK\ǸH:UafK;h_%868ݬNk;7W'ȻȿhUt:1k^\ }IOIi}WoXqSz ~/y+] [bc2@%|ܒ8BIM!UAdobe PhotoshopAdobe Photoshop CS2 HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km-.0?--/?Z[_ZZ^  //1@//1@FFI_^^c^^cuv{߰##$/./1?RRVo^^c,,.@))*A༽##%0//1@QRVo]^b]LMOpQQT./1E:;=R༽WX[\]_¼//1Knosüww|334./1N\\_Ƽ...^^cVWYƼ...^^c...E^^c... 3DQ))*DBJGHJt QQT oor\]^Ǽxx{\]_ļPQRŻ\\^¼**,O... \\_**+S...''(F...))*[O&''K...QQS0" JI72&#  PPP\\\JJJEEE333---yS</$ +>3' 00FontManager-master/Resources/UnicodeBlockNames.plist000077500000000000000000000063331205612570300231350ustar00rootroot00000000000000( "Basic Latin", "Latin-1 Supplement", "Latin Extended-A", "Latin Extended-B", "IPA Extensions", "Spacing Modifier Letters", "Combining Diacritical Marks", "Greek and Coptic", "Cyrillic", "Cyrillic Supplement", "Armenian", "Hebrew", "Arabic", "Syriac", "Arabic Supplement", "Thaana", "NKo", "Devanagari", "Bengali", "Gurmukhi", "Gujarati", "Oriya", "Tamil", "Telugu", "Kannada", "Malayalam", "Sinhala", "Thai", "Lao", "Tibetan", "Myanmar", "Georgian", "Hangul Jamo", "Ethiopic", "Ethiopic Supplement", "Cherokee", "Unified Canadian Aboriginal Syllabics", "Ogham", "Runic", "Tagalog", "Hanunoo", "Buhid", "Tagbanwa", "Khmer", "Mongolian", "Limbu", "Tai Le", "New Tai Lue", "Khmer Symbols", "Buginese", "Balinese", "Phonetic Extensions", "Phonetic Extensions Supplement", "Combining Diacritical Marks Supplement", "Latin Extended Additional", "Greek Extended", "General Punctuation", "Superscripts and Subscripts", "Currency Symbols", "Combining Diacritical Marks for Symbols", "Letterlike Symbols", "Number Forms", "Arrows", "Mathematical Operators", "Miscellaneous Technical", "Control Pictures", "Optical Character Recognition", "Enclosed Alphanumerics", "Box Drawing", "Block Elements", "Geometric Shapes", "Miscellaneous Symbols", "Dingbats", "Miscellaneous Mathematical Symbols-A", "Supplemental Arrows-A", "Braille Patterns", "Supplemental Arrows-B", "Miscellaneous Mathematical Symbols-B", "Supplemental Mathematical Operators", "Miscellaneous Symbols and Arrows", "Glagolitic", "Latin Extended-C", "Coptic", "Georgian Supplement", "Tifinagh", "Ethiopic Extended", "Supplemental Punctuation", "CJK Radicals Supplement", "Kangxi Radicals", "Ideographic Description Characters", "CJK Symbols and Punctuation", "Hiragana", "Katakana", "Bopomofo", "Hangul Compatibility Jamo", "Kanbun", "Bopomofo Extended", "CJK Strokes", "Katakana Phonetic Extensions", "Enclosed CJK Letters and Months", "CJK Compatibility", "CJK Unified Ideographs Extension A", "Yijing Hexagram Symbols", "CJK Unified Ideographs", "Yi Syllables", "Yi Radicals", "Modifier Tone Letters", "Latin Extended-D", "Syloti Nagri", "Phags-pa", "Hangul Syllables", "High Surrogates", "High Private Use Surrogates", "Low Surrogates", "Private Use Area", "CJK Compatibility Ideographs", "Alphabetic Presentation Forms", "Arabic Presentation Forms-A", "Variation Selectors", "Vertical Forms", "Combining Half Marks", "CJK Compatibility Forms", "Small Form Variants", "Arabic Presentation Forms-B", "Halfwidth and Fullwidth Forms", "Specials", "Linear B Syllabary", "Linear B Ideograms", "Aegean Numbers", "Ancient Greek Numbers", "Old Italic", "Gothic", "Ugaritic", "Old Persian", "Deseret", "Shavian", "Osmanya", "Cypriot Syllabary", "Phoenician", "Kharoshthi", "Cuneiform", "Cuneiform Numbers and Punctuation", "Byzantine Musical Symbols", "Musical Symbols", "Ancient Greek Musical Notation", "Tai Xuan Jing Symbols", "Counting Rod Numerals", "Mathematical Alphanumeric Symbols", "CJK Unified Ideographs Extension B", "CJK Compatibility Ideographs Supplement", "Tags", "Variation Selectors Supplement", "Supplementary Private Use Area-A", "Supplementary Private Use Area-B" )FontManager-master/Resources/UnicodeBlocks.plist000077500000000000000000000140241205612570300223300ustar00rootroot00000000000000{ "Basic Latin" = (0, 127); "Latin-1 Supplement" = (128, 255); "Latin Extended-A" = (256, 383); "Latin Extended-B" = (384, 591); "IPA Extensions" = (592, 687); "Spacing Modifier Letters" = (688, 767); "Combining Diacritical Marks" = (768, 879); "Greek and Coptic" = (880, 1023); "Cyrillic" = (1024, 1279); "Cyrillic Supplement" = (1280, 1327); "Armenian" = (1328, 1423); "Hebrew" = (1424, 1535); "Arabic" = (1536, 1791); "Syriac" = (1792, 1871); "Arabic Supplement" = (1872, 1919); "Thaana" = (1920, 1983); "NKo" = (1984, 2047); "Devanagari" = (2048, 2431); "Bengali" = (2432, 2559); "Gurmukhi" = (2560, 2687); "Gujarati" = (2688, 2815); "Oriya" = (2816, 2943); "Tamil" = (2944, 3071); "Telugu" = (3072, 3199); "Kannada" = (0x0C80, 0x0CFF); "Malayalam" = (0x0D00, 0x0D7F); "Sinhala" = (0x0D80, 0x0DFF); "Thai" = (0x0E00, 0x0E7F); "Lao" = (0x0E80, 0x0EFF); "Tibetan" = (0x0F00, 0x0FFF); "Myanmar" = (0x1000, 0x109F); "Georgian" = (0x10A0, 0x10FF); "Hangul Jamo" = (0x1100, 0x11FF); "Ethiopic" = (0x1200, 0x137F); "Ethiopic Supplement" = (0x1380, 0x139F); "Cherokee" = (0x13A0, 0x13FF); "Unified Canadian Aboriginal Syllabics" = (0x1400, 0x167F); "Ogham" = (0x1680, 0x169F); "Runic" = (0x16A0, 0x16FF); "Tagalog" = (0x1700, 0x171F); "Hanunoo" = (0x1720, 0x173F); "Buhid" = (0x1740, 0x175F); "Tagbanwa" = (0x1760, 0x177F); "Khmer" = (0x1780, 0x17FF); "Mongolian" = (0x1800, 0x18AF); "Limbu" = (0x1900, 0x194F); "Tai Le" = (0x1950, 0x197F); "New Tai Lue" = (0x1980, 0x19DF); "Khmer Symbols" = (0x19E0, 0x19FF); "Buginese" = (0x1A00, 0x1A1F); "Balinese" = (0x1B00, 0x1B7F); "Phonetic Extensions" = (0x1D00, 0x1D7F); "Phonetic Extensions Supplement" = (0x1D80, 0x1DBF); "Combining Diacritical Marks Supplement" = (0x1DC0, 0x1DFF); "Latin Extended Additional" = (0x1E00, 0x1EFF); "Greek Extended" = (0x1F00, 0x1FFF); "General Punctuation" = (0x2000, 0x206F); "Superscripts and Subscripts" = (0x2070, 0x209F); "Currency Symbols" = (0x20A0, 0x20CF); "Combining Diacritical Marks for Symbols" = (0x20D0, 0x20FF); "Letterlike Symbols" = (0x2100, 0x214F); "Number Forms" = (0x2150, 0x218F); "Arrows" = (0x2190, 0x21FF); "Mathematical Operators" = (0x2200, 0x22FF); "Miscellaneous Technical" = (0x2300, 0x23FF); "Control Pictures" = (0x2400, 0x243F); "Optical Character Recognition" = (0x2440, 0x245F); "Enclosed Alphanumerics" = (0x2460, 0x24FF); "Box Drawing" = (0x2500, 0x257F); "Block Elements" = (0x2580, 0x259F); "Geometric Shapes" = (0x25A0, 0x25FF); "Miscellaneous Symbols" = (0x2600, 0x26FF); "Dingbats" = (0x2700, 0x27BF); "Miscellaneous Mathematical Symbols-A" = (0x27C0, 0x27EF); "Supplemental Arrows-A" = (0x27F0, 0x27FF); "Braille Patterns" = (0x2800, 0x28FF); "Supplemental Arrows-B" = (0x2900, 0x297F); "Miscellaneous Mathematical Symbols-B" = (0x2980, 0x29FF); "Supplemental Mathematical Operators" = (0x2A00, 0x2AFF); "Miscellaneous Symbols and Arrows" = (0x2B00, 0x2BFF); "Glagolitic" = (0x2C00, 0x2C5F); "Latin Extended-C" = (0x2C60, 0x2C7F); "Coptic" = (0x2C80, 0x2CFF); "Georgian Supplement" = (0x2D00, 0x2D2F); "Tifinagh" = (0x2D30, 0x2D7F); "Ethiopic Extended" = (0x2D80, 0x2DDF); "Supplemental Punctuation" = (0x2E00, 0x2E7F); "CJK Radicals Supplement" = (0x2E80, 0x2EFF); "Kangxi Radicals" = (0x2F00, 0x2FDF); "Ideographic Description Characters" = (0x2FF0, 0x2FFF); "CJK Symbols and Punctuation" = (0x3000, 0x303F); "Hiragana" = (0x3040, 0x309F); "Katakana" = (0x30A0, 0x30FF); "Bopomofo" = (0x3100, 0x312F); "Hangul Compatibility Jamo" = (0x3130, 0x318F); "Kanbun" = (0x3190, 0x319F); "Bopomofo Extended" = (0x31A0, 0x31BF); "CJK Strokes" = (0x31C0, 0x31EF); "Katakana Phonetic Extensions" = (0x31F0, 0x31FF); "Enclosed CJK Letters and Months" = (0x3200, 0x32FF); "CJK Compatibility" = (0x3300, 0x33FF); "CJK Unified Ideographs Extension A" = (0x3400, 0x4DBF); "Yijing Hexagram Symbols" = (0x4DC0, 0x4DFF); "CJK Unified Ideographs" = (0x4E00, 0x9FFF); "Yi Syllables" = (0xA000, 0xA48F); "Yi Radicals" = (0xA490, 0xA4CF); "Modifier Tone Letters" = (0xA700, 0xA71F); "Latin Extended-D" = (0xA720, 0xA7FF); "Syloti Nagri" = (0xA800, 0xA82F); "Phags-pa" = (0xA840, 0xA87F); "Hangul Syllables" = (0xAC00, 0xD7AF); "High Surrogates" = (0xD800, 0xDB7F); "High Private Use Surrogates" = (0xDB80, 0xDBFF); "Low Surrogates" = (0xDC00, 0xDFFF); "Private Use Area" = (0xE000, 0xF8FF); "CJK Compatibility Ideographs" = (0xF900, 0xFAFF); "Alphabetic Presentation Forms" = (0xFB00, 0xFB4F); "Arabic Presentation Forms-A" = (0xFB50, 0xFDFF); "Variation Selectors" = (0xFE00, 0xFE0F); "Vertical Forms" = (0xFE10, 0xFE1F); "Combining Half Marks" = (0xFE20, 0xFE2F); "CJK Compatibility Forms" = (0xFE30, 0xFE4F); "Small Form Variants" = (0xFE50, 0xFE6F); "Arabic Presentation Forms-B" = (0xFE70, 0xFEFF); "Halfwidth and Fullwidth Forms" = (0xFF00, 0xFFEF); "Specials" = (0xFFF0, 0xFFFF); "Linear B Syllabary" = (0x10000, 0x1007F); "Linear B Ideograms" = (0x10080, 0x100FF); "Aegean Numbers" = (0x10100, 0x1013F); "Ancient Greek Numbers" = (0x10140, 0x1018F); "Old Italic" = (0x10300, 0x1032F); "Gothic" = (0x10330, 0x1034F); "Ugaritic" = (0x10380, 0x1039F); "Old Persian" = (0x103A0, 0x103DF); "Deseret" = (0x10400, 0x1044F); "Shavian" = (0x10450, 0x1047F); "Osmanya" = (0x10480, 0x104AF); "Cypriot Syllabary" = (0x10800, 0x1083F); "Phoenician" = (0x10900, 0x1091F); "Kharoshthi" = (0x10A00, 0x10A5F); "Cuneiform" = (0x12000, 0x123FF); "Cuneiform Numbers and Punctuation" = (0x12400, 0x1247F); "Byzantine Musical Symbols" = (0x1D000, 0x1D0FF); "Musical Symbols" = (0x1D100, 0x1D1FF); "Ancient Greek Musical Notation" = (0x1D200, 0x1D24F); "Tai Xuan Jing Symbols" = (0x1D300, 0x1D35F); "Counting Rod Numerals" = (0x1D360, 0x1D37F); "Mathematical Alphanumeric Symbols" = (0x1D400, 0x1D7FF); "CJK Unified Ideographs Extension B" = (0x20000, 0x2A6DF); "CJK Compatibility Ideographs Supplement" = (0x2F800, 0x2FA1F); "Tags" = (0xE0000, 0xE007F); "Variation Selectors Supplement" = (0xE0100, 0xE01EF); "Supplementary Private Use Area-A" = (0xF0000, 0xFFFFF); "Supplementary Private Use Area-B" = (0x100000, 0x10FFFF); }