adium/adium

1ce3b2b26041
Parents 15b9e88f3fbc
Children e258ab5909be
Fribidi and SR from Xcode projects to framework bundles.
  • +12 -92
    Adium.xcodeproj/project.pbxproj
  • +1 -0
    Frameworks/FriBidi.framework/FriBidi
  • +1 -0
    Frameworks/FriBidi.framework/Headers
  • +1 -0
    Frameworks/FriBidi.framework/Resources
  • +0 -0
    Frameworks/FriBidi.framework/Versions/A/FriBidi
  • +157 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/ConvertUTF.h
  • +20 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/NSString-FBAdditions.h
  • +61 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/bidi-types.h
  • +190 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/common.h
  • +88 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-arabic.h
  • +3 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-begindecls.h
  • +98 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-bidi-types-list.h
  • +389 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-bidi-types.h
  • +149 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-bidi.h
  • +72 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-cap-rtl.h
  • +64 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-cp1255.h
  • +64 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-cp1256.h
  • +64 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-iso8859-6.h
  • +64 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-iso8859-8.h
  • +60 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-list.h
  • +68 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-utf8.h
  • +118 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets.h
  • +130 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-common.h
  • +243 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-deprecated.h
  • +3 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-enddecls.h
  • +78 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-flags.h
  • +50 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-joining-types-list.h
  • +258 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-joining-types.h
  • +81 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-joining.h
  • +94 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-mirroring.h
  • +78 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-shape.h
  • +163 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-types.h
  • +14 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-unicode-version.h
  • +105 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-unicode.h
  • +73 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/fribidi.h
  • +187 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/getopt.h
  • +145 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/getopt_int.h
  • +2 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/gettext.h
  • +59 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/joining-types.h
  • +97 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/mem.h
  • +50 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/packtab.h
  • +157 -0
    Frameworks/FriBidi.framework/Versions/A/Headers/run.h
  • +5 -0
    Frameworks/FriBidi.framework/Versions/A/Resources/Debug.xcconfig
  • +18 -0
    Frameworks/FriBidi.framework/Versions/A/Resources/FriBidi.xcconfig
  • +0 -0
    Frameworks/FriBidi.framework/Versions/A/Resources/Info.plist
  • +2 -0
    Frameworks/FriBidi.framework/Versions/A/Resources/Release-Debug.xcconfig
  • +3 -0
    Frameworks/FriBidi.framework/Versions/A/Resources/Release.xcconfig
  • +1 -0
    Frameworks/FriBidi.framework/Versions/Current
  • +1 -0
    Frameworks/ShortcutRecorder.framework/Headers
  • +1 -0
    Frameworks/ShortcutRecorder.framework/Resources
  • +1 -0
    Frameworks/ShortcutRecorder.framework/ShortcutRecorder
  • +185 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRCommon.h
  • +16 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRKeyCodeTransformer.h
  • +139 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRRecorderCell.h
  • +79 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRRecorderControl.h
  • +34 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRValidator.h
  • +17 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Headers/ShortcutRecorder.h
  • +36 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/Info.plist
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/SRRemoveShortcut.tif
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/SRRemoveShortcutPressed.tif
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/SRRemoveShortcutRollover.tif
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/SRSnapback.tiff
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/de.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/el.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/en.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/fr.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/it.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/ja.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/ko.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/nb.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/nl.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/pl.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/pt-BR.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/ro.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/sk.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/sv.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/th.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/Resources/zh-Hans.lproj/ShortcutRecorder.strings
  • +0 -0
    Frameworks/ShortcutRecorder.framework/Versions/A/ShortcutRecorder
  • +1 -0
    Frameworks/ShortcutRecorder.framework/Versions/Current
  • --- a/Adium.xcodeproj/project.pbxproj Fri Apr 06 21:24:07 2012 -0400
    +++ b/Adium.xcodeproj/project.pbxproj Sun Apr 08 00:58:50 2012 +0300
    @@ -370,8 +370,6 @@
    346545BA0C8F71380046ED68 /* AMPurpleJabberAdHocCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 346545B80C8F71380046ED68 /* AMPurpleJabberAdHocCommand.m */; };
    346545CB0C8F73000046ED68 /* AMPurpleJabberAdHocPing.h in Headers */ = {isa = PBXBuildFile; fileRef = 346545C90C8F73000046ED68 /* AMPurpleJabberAdHocPing.h */; };
    346545CC0C8F73000046ED68 /* AMPurpleJabberAdHocPing.m in Sources */ = {isa = PBXBuildFile; fileRef = 346545CA0C8F73000046ED68 /* AMPurpleJabberAdHocPing.m */; };
    - 346636AC0D415440006C9034 /* FriBidi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466368B0D41541A006C9034 /* FriBidi.framework */; };
    - 346637690D415457006C9034 /* FriBidi.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 3466368B0D41541A006C9034 /* FriBidi.framework */; };
    346935D60BA6C89D00E1CF7E /* AIFileTransferProgressOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 346935D40BA6C89D00E1CF7E /* AIFileTransferProgressOutlineView.m */; };
    346BA33F0774C27400628F06 /* ESGlobalEventsPreferencesPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 346BA33D0774C27400628F06 /* ESGlobalEventsPreferencesPlugin.m */; };
    346BA3450774C2D200628F06 /* ESGlobalEventsPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 346BA3430774C2D200628F06 /* ESGlobalEventsPreferences.m */; };
    @@ -1434,12 +1432,14 @@
    81E45D760C15BFF800B7381B /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34E839050583207E00F2AADB /* SystemConfiguration.framework */; };
    9718DF45136A2C5200013760 /* AIImageCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9718DF43136A2C5200013760 /* AIImageCollectionView.h */; settings = {ATTRIBUTES = (Public, ); }; };
    9718DF46136A2C5200013760 /* AIImageCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9718DF44136A2C5200013760 /* AIImageCollectionView.m */; };
    + 9719C92C1530EDF700217FBE /* FriBidi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92B1530EDF700217FBE /* FriBidi.framework */; };
    + 9719C92E1530EE0C00217FBE /* ShortcutRecorder.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92D1530EE0C00217FBE /* ShortcutRecorder.framework */; };
    + 9719C92F1530EE4800217FBE /* FriBidi.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92B1530EDF700217FBE /* FriBidi.framework */; };
    + 9719C9301530EE4800217FBE /* ShortcutRecorder.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92D1530EE0C00217FBE /* ShortcutRecorder.framework */; };
    9722ABC813257D7F00CAB486 /* ContactListWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9722ABC713257D7F00CAB486 /* ContactListWindow.xib */; };
    - 9744E74B152E20EE0067FEA2 /* ShortcutRecorder.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9744E748152E1E3C0067FEA2 /* ShortcutRecorder.framework */; };
    9760D24613E49A560031FA1A /* AboutDialog_bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 9760D24513E49A560031FA1A /* AboutDialog_bg.png */; };
    979AA6A714D59DC8008730DF /* AIBoolToControlTextColorTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 979AA6A514D59DC8008730DF /* AIBoolToControlTextColorTransformer.h */; settings = {ATTRIBUTES = (); }; };
    979AA6A814D59DC8008730DF /* AIBoolToControlTextColorTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 979AA6A614D59DC8008730DF /* AIBoolToControlTextColorTransformer.m */; };
    - 979F8ECE1530333C000E7636 /* ShortcutRecorder.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9744E748152E1E3C0067FEA2 /* ShortcutRecorder.framework */; };
    97AF5CDB13191DE200550C41 /* AIContactListUserPictureMenuController.m in Sources */ = {isa = PBXBuildFile; fileRef = 97AF5CDA13191DE200550C41 /* AIContactListUserPictureMenuController.m */; };
    97AF5CF413191E9A00550C41 /* ContactListChangeUserPictureMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 97AF5CF313191E9A00550C41 /* ContactListChangeUserPictureMenu.xib */; };
    97E4B4FF13E7490000A8BA53 /* AboutDialog_transp_btm.png in Resources */ = {isa = PBXBuildFile; fileRef = 97E4B4FB13E7490000A8BA53 /* AboutDialog_transp_btm.png */; };
    @@ -1534,13 +1534,6 @@
    remoteGlobalIDString = 31C460380DE1D17100C4265B;
    remoteInfo = StressTester;
    };
    - 3466368A0D41541A006C9034 /* PBXContainerItemProxy */ = {
    - isa = PBXContainerItemProxy;
    - containerPortal = 346636860D41541A006C9034 /* FriBidi.xcodeproj */;
    - proxyType = 2;
    - remoteGlobalIDString = 8DC2EF5B0486A6940098B216;
    - remoteInfo = FriBidi;
    - };
    3496A8ED07CE6CCB0055BBAB /* PBXContainerItemProxy */ = {
    isa = PBXContainerItemProxy;
    containerPortal = 3496A8E707CE6CA30055BBAB /* AutoHyperlinks.framework.xcodeproj */;
    @@ -1590,13 +1583,6 @@
    remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
    remoteInfo = AutoHyperlinks.framework;
    };
    - 639DFB5F0F981FA8003C9A32 /* PBXContainerItemProxy */ = {
    - isa = PBXContainerItemProxy;
    - containerPortal = 346636860D41541A006C9034 /* FriBidi.xcodeproj */;
    - proxyType = 1;
    - remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
    - remoteInfo = FriBidi;
    - };
    639DFB630F981FCB003C9A32 /* PBXContainerItemProxy */ = {
    isa = PBXContainerItemProxy;
    containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
    @@ -1618,20 +1604,6 @@
    remoteGlobalIDString = 7EA3B0440DD1153F002A18D1;
    remoteInfo = Test;
    };
    - 9744E747152E1E3C0067FEA2 /* PBXContainerItemProxy */ = {
    - isa = PBXContainerItemProxy;
    - containerPortal = 9744E73E152E1E3C0067FEA2 /* ShortcutRecorder.xcodeproj */;
    - proxyType = 2;
    - remoteGlobalIDString = 939837800DA42965007F53F3;
    - remoteInfo = ShortcutRecorder.framework;
    - };
    - 9744E749152E1E3C0067FEA2 /* PBXContainerItemProxy */ = {
    - isa = PBXContainerItemProxy;
    - containerPortal = 9744E73E152E1E3C0067FEA2 /* ShortcutRecorder.xcodeproj */;
    - proxyType = 2;
    - remoteGlobalIDString = 93983B220DA43C4E007F53F3;
    - remoteInfo = ShortcutRecorder_Tester;
    - };
    EFB1C3D70DDCA0A900B3973D /* PBXContainerItemProxy */ = {
    isa = PBXContainerItemProxy;
    containerPortal = 3496A8E707CE6CA30055BBAB /* AutoHyperlinks.framework.xcodeproj */;
    @@ -1656,14 +1628,12 @@
    dstPath = "";
    dstSubfolderSpec = 10;
    files = (
    - 979F8ECE1530333C000E7636 /* ShortcutRecorder.framework in Copy Frameworks */,
    116E369A10B72934002EDB0F /* Growl.framework in Copy Frameworks */,
    118A44540FEEA82E008153C0 /* libjson-glib.framework in Copy Frameworks */,
    633404710F9C18EF003C77A9 /* AIUtilities.framework in Copy Frameworks */,
    639DF9D80F97E678003C9A32 /* AdiumLibpurple.framework in Copy Frameworks */,
    11879E0A0F6FFC1000CACFB1 /* OAuthConsumer.framework in Copy Frameworks */,
    11EE1CCF0CDD01120097F246 /* libglib.framework in Copy Frameworks */,
    - 346637690D415457006C9034 /* FriBidi.framework in Copy Frameworks */,
    11EE1CD00CDD01120097F246 /* libgmodule.framework in Copy Frameworks */,
    11EE1CD10CDD01120097F246 /* libgobject.framework in Copy Frameworks */,
    11EE1CD20CDD01120097F246 /* libgthread.framework in Copy Frameworks */,
    @@ -1673,6 +1643,8 @@
    EE5754ED0B3D7A7A00100989 /* Sparkle.framework in Copy Frameworks */,
    377ED0220AE95D7D00CB7BDF /* PSMTabBarControl.framework in Copy Frameworks */,
    9E1E1E270A96770C00E16DFC /* LMX.framework in Copy Frameworks */,
    + 9719C92F1530EE4800217FBE /* FriBidi.framework in Copy Frameworks */,
    + 9719C9301530EE4800217FBE /* ShortcutRecorder.framework in Copy Frameworks */,
    7E6F8ACD105613AD00C6D80D /* libotr.framework in Copy Frameworks */,
    F51BCD3B0A156261000FDC06 /* AutoHyperlinks.framework in Copy Frameworks */,
    3419FE230531586A00C68BA3 /* Adium.framework in Copy Frameworks */,
    @@ -2916,7 +2888,6 @@
    346545B80C8F71380046ED68 /* AMPurpleJabberAdHocCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AMPurpleJabberAdHocCommand.m; path = "Plugins/Purple Service/AMPurpleJabberAdHocCommand.m"; sourceTree = "<group>"; };
    346545C90C8F73000046ED68 /* AMPurpleJabberAdHocPing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AMPurpleJabberAdHocPing.h; path = "Plugins/Purple Service/AMPurpleJabberAdHocPing.h"; sourceTree = "<group>"; };
    346545CA0C8F73000046ED68 /* AMPurpleJabberAdHocPing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AMPurpleJabberAdHocPing.m; path = "Plugins/Purple Service/AMPurpleJabberAdHocPing.m"; sourceTree = "<group>"; };
    - 346636860D41541A006C9034 /* FriBidi.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = FriBidi.xcodeproj; path = "Frameworks/FriBidi Framework/FriBidi.xcodeproj"; sourceTree = "<group>"; };
    346935D30BA6C89D00E1CF7E /* AIFileTransferProgressOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIFileTransferProgressOutlineView.h; path = Source/AIFileTransferProgressOutlineView.h; sourceTree = "<group>"; };
    346935D40BA6C89D00E1CF7E /* AIFileTransferProgressOutlineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIFileTransferProgressOutlineView.m; path = Source/AIFileTransferProgressOutlineView.m; sourceTree = "<group>"; };
    34695FA20A89BA2B00E3B0D0 /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = zh_TW; path = Resources/zh_TW.lproj/PersonalPreferences.nib; sourceTree = "<group>"; };
    @@ -4599,8 +4570,9 @@
    81DAED510C26F4F700780E4C /* AMPurpleJabberServiceDiscoveryBrowsing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AMPurpleJabberServiceDiscoveryBrowsing.m; path = "Plugins/Purple Service/AMPurpleJabberServiceDiscoveryBrowsing.m"; sourceTree = "<group>"; };
    9718DF43136A2C5200013760 /* AIImageCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIImageCollectionView.h; path = "Frameworks/AIUtilities Framework/Source/AIImageCollectionView.h"; sourceTree = "<group>"; };
    9718DF44136A2C5200013760 /* AIImageCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIImageCollectionView.m; path = "Frameworks/AIUtilities Framework/Source/AIImageCollectionView.m"; sourceTree = "<group>"; };
    + 9719C92B1530EDF700217FBE /* FriBidi.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FriBidi.framework; path = Frameworks/FriBidi.framework; sourceTree = "<group>"; };
    + 9719C92D1530EE0C00217FBE /* ShortcutRecorder.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ShortcutRecorder.framework; path = Frameworks/ShortcutRecorder.framework; sourceTree = "<group>"; };
    9722ABC713257D7F00CAB486 /* ContactListWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ContactListWindow.xib; path = Resources/ContactListWindow.xib; sourceTree = "<group>"; };
    - 9744E73E152E1E3C0067FEA2 /* ShortcutRecorder.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ShortcutRecorder.xcodeproj; path = Frameworks/ShortcutRecorder/ShortcutRecorder.xcodeproj; sourceTree = "<group>"; };
    9760D24513E49A560031FA1A /* AboutDialog_bg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AboutDialog_bg.png; path = Resources/AboutDialog_bg.png; sourceTree = "<group>"; };
    979AA6A514D59DC8008730DF /* AIBoolToControlTextColorTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIBoolToControlTextColorTransformer.h; path = "Frameworks/Adium Framework/Source/AIBoolToControlTextColorTransformer.h"; sourceTree = "<group>"; };
    979AA6A614D59DC8008730DF /* AIBoolToControlTextColorTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIBoolToControlTextColorTransformer.m; path = "Frameworks/Adium Framework/Source/AIBoolToControlTextColorTransformer.m"; sourceTree = "<group>"; };
    @@ -4885,7 +4857,6 @@
    111256210F8DA2DB00E76177 /* libcrypto.dylib in Frameworks */,
    6318DBC20F8D943A00C5E584 /* WebKit.framework in Frameworks */,
    636D92CD0E4E990500E5F558 /* AddressBook.framework in Frameworks */,
    - 346636AC0D415440006C9034 /* FriBidi.framework in Frameworks */,
    F51BCEEA0A15793E000FDC06 /* AutoHyperlinks.framework in Frameworks */,
    34BD9D5A053146CC000AB133 /* Carbon.framework in Frameworks */,
    34B588A1058D833A00E7EF0D /* ExceptionHandling.framework in Frameworks */,
    @@ -4899,7 +4870,8 @@
    11879DF80F6FFC0B00CACFB1 /* OAuthConsumer.framework in Frameworks */,
    118A44510FEEA828008153C0 /* libjson-glib.framework in Frameworks */,
    34C846AF101E515900140B4B /* QTKit.framework in Frameworks */,
    - 9744E74B152E20EE0067FEA2 /* ShortcutRecorder.framework in Frameworks */,
    + 9719C92C1530EDF700217FBE /* FriBidi.framework in Frameworks */,
    + 9719C92E1530EE0C00217FBE /* ShortcutRecorder.framework in Frameworks */,
    );
    runOnlyForDeploymentPostprocessing = 0;
    };
    @@ -5767,14 +5739,6 @@
    name = "Ad Hoc Server";
    sourceTree = "<group>";
    };
    - 346636870D41541A006C9034 /* Products */ = {
    - isa = PBXGroup;
    - children = (
    - 3466368B0D41541A006C9034 /* FriBidi.framework */,
    - );
    - name = Products;
    - sourceTree = "<group>";
    - };
    346BA3330774C21300628F06 /* Global Events Preferences */ = {
    isa = PBXGroup;
    children = (
    @@ -8260,24 +8224,15 @@
    name = "Hot Key";
    sourceTree = "<group>";
    };
    - 9744E73F152E1E3C0067FEA2 /* Products */ = {
    - isa = PBXGroup;
    - children = (
    - 9744E748152E1E3C0067FEA2 /* ShortcutRecorder.framework */,
    - 9744E74A152E1E3C0067FEA2 /* ShortcutRecorder.app */,
    - );
    - name = Products;
    - sourceTree = "<group>";
    - };
    979AA6A914D59EF3008730DF /* Others */ = {
    isa = PBXGroup;
    children = (
    3496A8E707CE6CA30055BBAB /* AutoHyperlinks.framework.xcodeproj */,
    - 346636860D41541A006C9034 /* FriBidi.xcodeproj */,
    - 9744E73E152E1E3C0067FEA2 /* ShortcutRecorder.xcodeproj */,
    + 9719C92B1530EDF700217FBE /* FriBidi.framework */,
    7E9A8CB2104DEBC400F210CC /* Growl.framework */,
    11879DF70F6FFC0B00CACFB1 /* OAuthConsumer.framework */,
    377EC8930AE9525B00CB7BDF /* PSMTabBarControl.framework */,
    + 9719C92D1530EE0C00217FBE /* ShortcutRecorder.framework */,
    9E1E1DFC0A96741500E16DFC /* LMX.framework */,
    638392F609D4D67A0067B9B7 /* Sparkle.framework */,
    7E6F8A93105611B700C6D80D /* libotr.framework */,
    @@ -9366,7 +9321,6 @@
    63DE4C530F9C77D50034ED3A /* PBXTargetDependency */,
    6334045E0F9C1899003C77A9 /* PBXTargetDependency */,
    639DFB560F981F7A003C9A32 /* PBXTargetDependency */,
    - 639DFB600F981FA8003C9A32 /* PBXTargetDependency */,
    639DFB640F981FCB003C9A32 /* PBXTargetDependency */,
    );
    name = Adium.Framework;
    @@ -9469,14 +9423,6 @@
    ProductGroup = 3496A8E807CE6CA30055BBAB /* Products */;
    ProjectRef = 3496A8E707CE6CA30055BBAB /* AutoHyperlinks.framework.xcodeproj */;
    },
    - {
    - ProductGroup = 346636870D41541A006C9034 /* Products */;
    - ProjectRef = 346636860D41541A006C9034 /* FriBidi.xcodeproj */;
    - },
    - {
    - ProductGroup = 9744E73F152E1E3C0067FEA2 /* Products */;
    - ProjectRef = 9744E73E152E1E3C0067FEA2 /* ShortcutRecorder.xcodeproj */;
    - },
    );
    projectRoot = "";
    targets = (
    @@ -9509,13 +9455,6 @@
    remoteRef = 3416394C0DE58A1A009E9550 /* PBXContainerItemProxy */;
    sourceTree = BUILT_PRODUCTS_DIR;
    };
    - 3466368B0D41541A006C9034 /* FriBidi.framework */ = {
    - isa = PBXReferenceProxy;
    - fileType = wrapper.framework;
    - path = FriBidi.framework;
    - remoteRef = 3466368A0D41541A006C9034 /* PBXContainerItemProxy */;
    - sourceTree = BUILT_PRODUCTS_DIR;
    - };
    3496A8EA07CE6CA30055BBAB /* AutoHyperlinks.framework */ = {
    isa = PBXReferenceProxy;
    fileType = wrapper.framework;
    @@ -9530,20 +9469,6 @@
    remoteRef = 7E78DA9B0DD135DE00B9388F /* PBXContainerItemProxy */;
    sourceTree = BUILT_PRODUCTS_DIR;
    };
    - 9744E748152E1E3C0067FEA2 /* ShortcutRecorder.framework */ = {
    - isa = PBXReferenceProxy;
    - fileType = wrapper.framework;
    - path = ShortcutRecorder.framework;
    - remoteRef = 9744E747152E1E3C0067FEA2 /* PBXContainerItemProxy */;
    - sourceTree = BUILT_PRODUCTS_DIR;
    - };
    - 9744E74A152E1E3C0067FEA2 /* ShortcutRecorder.app */ = {
    - isa = PBXReferenceProxy;
    - fileType = wrapper.application;
    - path = ShortcutRecorder.app;
    - remoteRef = 9744E749152E1E3C0067FEA2 /* PBXContainerItemProxy */;
    - sourceTree = BUILT_PRODUCTS_DIR;
    - };
    EFB1C3D80DDCA0A900B3973D /* LinkDriver.app */ = {
    isa = PBXReferenceProxy;
    fileType = wrapper.application;
    @@ -10806,11 +10731,6 @@
    name = AutoHyperlinks.framework;
    targetProxy = 639DFB550F981F7A003C9A32 /* PBXContainerItemProxy */;
    };
    - 639DFB600F981FA8003C9A32 /* PBXTargetDependency */ = {
    - isa = PBXTargetDependency;
    - name = FriBidi;
    - targetProxy = 639DFB5F0F981FA8003C9A32 /* PBXContainerItemProxy */;
    - };
    639DFB640F981FCB003C9A32 /* PBXTargetDependency */ = {
    isa = PBXTargetDependency;
    target = 34F3B9510BDF15F40011AB34 /* Touch Framework Bundles to Executable Date */;
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/FriBidi Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,1 @@
    +Versions/Current/FriBidi
    \ No newline at end of file
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Headers Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,1 @@
    +Versions/Current/Headers
    \ No newline at end of file
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Resources Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,1 @@
    +Versions/Current/Resources
    \ No newline at end of file
    Binary file Frameworks/FriBidi.framework/Versions/A/FriBidi has changed
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/ConvertUTF.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,157 @@
    +/*
    + * Copyright 2001-2004 Unicode, Inc.
    + *
    + * Disclaimer
    + *
    + * This source code is provided as is by Unicode, Inc. No claims are
    + * made as to fitness for any particular purpose. No warranties of any
    + * kind are expressed or implied. The recipient agrees to determine
    + * applicability of information provided. If this file has been
    + * purchased on magnetic or optical media from Unicode, Inc., the
    + * sole remedy for any claim will be exchange of defective media
    + * within 90 days of receipt.
    + *
    + * Limitations on Rights to Redistribute This Code
    + *
    + * Unicode, Inc. hereby grants the right to freely use the information
    + * supplied in this file in the creation of products supporting the
    + * Unicode Standard, and to make copies of this file in any form
    + * for internal or external distribution as long as this notice
    + * remains attached.
    + */
    +
    +/* ---------------------------------------------------------------------
    +
    + Conversions between UTF32, UTF-16, and UTF-8. Header file.
    +
    + Several funtions are included here, forming a complete set of
    + conversions between the three formats. UTF-7 is not included
    + here, but is handled in a separate source file.
    +
    + Each of these routines takes pointers to input buffers and output
    + buffers. The input buffers are const.
    +
    + Each routine converts the text between *sourceStart and sourceEnd,
    + putting the result into the buffer between *targetStart and
    + targetEnd. Note: the end pointers are *after* the last item: e.g.
    + *(sourceEnd - 1) is the last item.
    +
    + The return result indicates whether the conversion was successful,
    + and if not, whether the problem was in the source or target buffers.
    + (Only the first encountered problem is indicated.)
    +
    + After the conversion, *sourceStart and *targetStart are both
    + updated to point to the end of last text successfully converted in
    + the respective buffers.
    +
    + Input parameters:
    + sourceStart - pointer to a pointer to the source buffer.
    + The contents of this are modified on return so that
    + it points at the next thing to be converted.
    + targetStart - similarly, pointer to pointer to the target buffer.
    + sourceEnd, targetEnd - respectively pointers to the ends of the
    + two buffers, for overflow checking only.
    +
    + These conversion functions take a ConversionFlags argument. When this
    + flag is set to strict, both irregular sequences and isolated surrogates
    + will cause an error. When the flag is set to lenient, both irregular
    + sequences and isolated surrogates are converted.
    +
    + Whether the flag is strict or lenient, all illegal sequences will cause
    + an error return. This includes sequences such as: <F4 90 80 80>, <C0 80>,
    + or <A0> in UTF-8, and values above 0x10FFFF in UTF-32. Conformant code
    + must check for illegal sequences.
    +
    + When the flag is set to lenient, characters over 0x10FFFF are converted
    + to the replacement character; otherwise (when the flag is set to strict)
    + they constitute an error.
    +
    + Output parameters:
    + The value "sourceIllegal" is returned from some routines if the input
    + sequence is malformed. When "sourceIllegal" is returned, the source
    + value will point to the illegal value that caused the problem. E.g.,
    + in UTF-8 when a sequence is malformed, it points to the start of the
    + malformed sequence.
    +
    + Author: Mark E. Davis, 1994.
    + Rev History: Rick McGowan, fixes & updates May 2001.
    + Fixes & updates, Sept 2001.
    +
    +------------------------------------------------------------------------ */
    +
    +#include <FriBidi/fribidi-types.h>
    +
    +/* ---------------------------------------------------------------------
    + The following 4 definitions are compiler-specific.
    + The C standard does not guarantee that wchar_t has at least
    + 16 bits, so wchar_t is no less portable than unsigned short!
    + All should be unsigned values to avoid sign extension during
    + bit mask & shift operations.
    +------------------------------------------------------------------------ */
    +
    +//typedef unsigned long UTF32; /* at least 32 bits */
    +//typedef unsigned short UTF16; /* at least 16 bits */
    +//typedef unsigned char UTF8; /* typically 8 bits */
    +//typedef unsigned char Boolean; /* 0 or 1 */
    +
    +/* Modified by Ofri Wolfus for compatibility with FriBidi */
    +typedef fribidi_uint32 UTF32; /* at least 32 bits */
    +typedef fribidi_uint16 UTF16; /* at least 16 bits */
    +typedef fribidi_uint8 UTF8; /* typically 8 bits */
    +typedef unsigned char fribidi_Boolean;
    +
    +/* Some fundamental constants */
    +#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
    +#define UNI_MAX_BMP (UTF32)0x0000FFFF
    +#define UNI_MAX_UTF16 (UTF32)0x0010FFFF
    +#define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF
    +#define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF
    +
    +typedef enum {
    + conversionOK, /* conversion successful */
    + sourceExhausted, /* partial character in source, but hit end */
    + targetExhausted, /* insuff. room in target for conversion */
    + sourceIllegal /* source sequence is illegal/malformed */
    +} ConversionResult;
    +
    +typedef enum {
    + strictConversion = 0,
    + lenientConversion
    +} ConversionFlags;
    +
    +/* This is for C++ and does no harm in C */
    +#ifdef __cplusplus
    +extern "C" {
    +#endif
    +
    +ConversionResult ConvertUTF8toUTF16 (
    + const UTF8** sourceStart, const UTF8* sourceEnd,
    + UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags);
    +
    +ConversionResult ConvertUTF16toUTF8 (
    + const UTF16** sourceStart, const UTF16* sourceEnd,
    + UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags);
    +
    +ConversionResult ConvertUTF8toUTF32 (
    + const UTF8** sourceStart, const UTF8* sourceEnd,
    + UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags);
    +
    +ConversionResult ConvertUTF32toUTF8 (
    + const UTF32** sourceStart, const UTF32* sourceEnd,
    + UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags);
    +
    +ConversionResult ConvertUTF16toUTF32 (
    + const UTF16** sourceStart, const UTF16* sourceEnd,
    + UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags);
    +
    +ConversionResult ConvertUTF32toUTF16 (
    + const UTF32** sourceStart, const UTF32* sourceEnd,
    + UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags);
    +
    +fribidi_Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd);
    +
    +#ifdef __cplusplus
    +}
    +#endif
    +
    +/* --------------------------------------------------------------------- */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/NSString-FBAdditions.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,20 @@
    +//
    +// NSString-FBAdditions.h
    +// FriBidi
    +//
    +// Created by Ofri Wolfus on 22/08/06.
    +// Copyright 2006 Ofri Wolfus. All rights reserved.
    +//
    +
    +#import <Cocoa/Cocoa.h>
    +
    +
    +@interface NSString (FBAdditions)
    +
    +/*!
    + * @abstract Retusn the base writing direction of the receiver.
    + * @discussion Returns <code>NSWritingDirectionNatural</code> if the writing direction is not fixed.
    + */
    +- (NSWritingDirection)baseWritingDirection;
    +
    +@end
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/bidi-types.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,61 @@
    +/* FriBidi
    + * bidi-types.h - define internal bidi types
    + *
    + * $Id: bidi-types.h,v 1.7 2006/01/31 03:23:12 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2006/01/31 03:23:12 $
    + * $Revision: 1.7 $
    + * $Source: /cvs/fribidi/fribidi2/lib/bidi-types.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _BIDI_TYPES_H
    +#define _BIDI_TYPES_H
    +
    +#include "common.h"
    +
    +#include <fribidi-types.h>
    +#include <fribidi-bidi-types.h>
    +
    +#include <fribidi-begindecls.h>
    +
    +#define FRIBIDI_LEVEL_INVALID FRIBIDI_BIDI_MAX_RESOLVED_LEVELS
    +#define FRIBIDI_SENTINEL -1
    +
    +#if DEBUG+0
    +
    +#define fribidi_char_from_bidi_type FRIBIDI_PRIVATESPACE(char_from_bidi_type)
    +char
    +fribidi_char_from_bidi_type (
    + FriBidiCharType t /* input bidi type */
    +) FRIBIDI_GNUC_HIDDEN;
    +
    +#endif /* DEBUG */
    +
    +#include <fribidi-enddecls.h>
    +
    +#endif /* !_BIDI_TYPES_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/common.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,190 @@
    +/* FriBidi
    + * common.h - common include for library sources
    + *
    + * $Id: common.h,v 1.20 2008-04-08 21:38:23 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2008-04-08 21:38:23 $
    + * $Revision: 1.20 $
    + * $Source: /cvs/fribidi/fribidi2/lib/common.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _COMMON_H
    +#define _COMMON_H
    +
    +#if HAVE_CONFIG_H+0
    +# include <config.h>
    +#endif
    +
    +#include <fribidi-common.h>
    +
    +/* FRIBIDI_PRIVATESPACE is a macro used to name library internal symbols. */
    +#ifndef FRIBIDI_PRIVATESPACE
    +# define FRIBIDI_PRIVATESPACE1(A,B) A##B
    +# define FRIBIDI_PRIVATESPACE0(A,B) FRIBIDI_PRIVATESPACE1(A,B)
    +# define FRIBIDI_PRIVATESPACE(SYMBOL) FRIBIDI_PRIVATESPACE0(_,FRIBIDI_NAMESPACE(_##SYMBOL##__internal__))
    +#endif /* !FRIBIDI_PRIVATESPACE */
    +
    +#if (defined(WIN32)) || (defined(_WIN32_WCE))
    +# define FRIBIDI_ENTRY __declspec(dllexport)
    +#endif /* WIN32 */
    +
    +#if FRIBIDI_USE_GLIB+0
    +# ifndef SIZEOF_LONG
    +# define SIZEOF_LONG GLIB_SIZEOF_LONG
    +# endif /* !SIZEOF_LONG */
    +# ifndef SIZEOF_VOID_P
    +# define SIZEOF_VOID_P GLIB_SIZEOF_VOID_P
    +# endif /* !SIZEOF_VOID_P */
    +# ifndef __FRIBIDI_DOC
    +# include <glib/gmem.h>
    +# endif /* !__FRIBIDI_DOC */
    +# ifndef fribidi_malloc
    +# define fribidi_malloc g_try_malloc
    +# define fribidi_free g_free
    +# endif /* !fribidi_malloc */
    +# ifndef fribidi_assert
    +# ifndef __FRIBIDI_DOC
    +# include <glib/gmessages.h>
    +# endif /* !__FRIBIDI_DOC */
    +# define fribidi_assert g_assert
    +# endif /* !fribidi_assert */
    +# ifndef __FRIBIDI_DOC
    +# include <glib/gmacros.h>
    +# endif /* !__FRIBIDI_DOC */
    +# ifndef FRIBIDI_BEGIN_STMT
    +# define FRIBIDI_BEGIN_STMT G_STMT_START {
    +# define FRIBIDI_END_STMT } G_STMT_END
    +# endif /* !FRIBIDI_BEGIN_STMT */
    +# ifndef LIKELY
    +# define LIKELY G_LIKELY
    +# define UNLIKELY G_UNLIKELY
    +# endif /* !LIKELY */
    +# ifndef false
    +# define false FALSE
    +# endif /* !false */
    +# ifndef true
    +# define true TRUE
    +# endif /* !true */
    +#endif /* FRIBIDI_USE_GLIB */
    +
    +#ifndef false
    +# define false (0)
    +# endif /* !false */
    +# ifndef true
    +# define true (!false)
    +# endif /* !true */
    +
    +#ifndef NULL
    +# ifdef __cplusplus
    +# define NULL (0L)
    +# else /* !__cplusplus */
    +# define NULL ((void*) 0)
    +# endif /* !__cplusplus */
    +#endif /* !NULL */
    +
    +/* fribidi_malloc and fribidi_free should be used instead of malloc and free.
    + * No need to include any headers. */
    +#ifndef fribidi_malloc
    +# if HAVE_STDLIB_H
    +# ifndef __FRIBIDI_DOC
    +# include <stdlib.h>
    +# endif /* __FRIBIDI_DOC */
    +# define fribidi_malloc malloc
    +# else /* !HAVE_STDLIB_H */
    +# define fribidi_malloc (void *) malloc
    +# endif /* !HAVE_STDLIB_H */
    +# define fribidi_free free
    +#else /* fribidi_malloc */
    +# ifndef fribidi_free
    +# error You should define fribidi_free too when you define fribidi_malloc.
    +# endif /* !fribidi_free */
    +#endif /* fribidi_malloc */
    +
    +#if HAVE_STRING_H+0
    +# if !STDC_HEADERS && HAVE_MEMORY_H
    +# include <memory.h>
    +# endif
    +# include <string.h>
    +#endif
    +#if HAVE_STRINGS_H+0
    +# include <strings.h>
    +#endif
    +
    +/* FRIBIDI_CHUNK_SIZE is the number of bytes in each chunk of memory being
    + * allocated for data structure pools. */
    +#ifndef FRIBIDI_CHUNK_SIZE
    +# if HAVE_ASM_PAGE_H
    +# ifndef __FRIBIDI_DOC
    +# include <asm/page.h>
    +# endif /* __FRIBIDI_DOC */
    +# define FRIBIDI_CHUNK_SIZE (PAGE_SIZE - 16)
    +# else /* !HAVE_ASM_PAGE_H */
    +# define FRIBIDI_CHUNK_SIZE (4096 - 16)
    +# endif /* !HAVE_ASM_PAGE_H */
    +#else /* FRIBIDI_CHUNK_SIZE */
    +# if FRIBIDI_CHUNK_SIZE < 256
    +# error FRIBIDI_CHUNK_SIZE now should define the size of a chunk in bytes.
    +# endif /* FRIBIDI_CHUNK_SIZE < 256 */
    +#endif /* FRIBIDI_CHUNK_SIZE */
    +
    +/* FRIBIDI_BEGIN_STMT should be used at the beginning of your macro
    + * definitions that are to behave like simple statements. Use
    + * FRIBIDI_END_STMT at the end of the macro after the semicolon or brace. */
    +#ifndef FRIBIDI_BEGIN_STMT
    +# define FRIBIDI_BEGIN_STMT do {
    +# define FRIBIDI_END_STMT } while (0)
    +#endif /* !FRIBIDI_BEGIN_STMT */
    +
    +/* LIKEYLY and UNLIKELY are used to give a hint on branch prediction to the
    + * compiler. */
    +#ifndef LIKELY
    +# define LIKELY
    +# define UNLIKELY
    +#endif /* !LIKELY */
    +
    +#ifndef FRIBIDI_EMPTY_STMT
    +# define FRIBIDI_EMPTY_STMT FRIBIDI_BEGIN_STMT (void) 0; FRIBIDI_END_STMT
    +#endif /* !FRIBIDI_EMPTY_STMT */
    +
    +#if HAVE_STRINGIZE+0
    +# define STRINGIZE(symbol) #symbol
    +#else /* !HAVE_STRINGIZE */
    +# define STRINGIZE(symbol) (no stringize operator available)
    +#endif /* !HAVE_STRINGIZE */
    +
    +/* As per recommendation of GNU Coding Standards. */
    +#ifndef _GNU_SOURCE
    +# define _GNU_SOURCE
    +#endif /* !_GNU_SOURCE */
    +
    +/* We respect our own rules. */
    +#define FRIBIDI_NO_DEPRECATED
    +
    +
    +#include "debug.h"
    +
    +#endif /* !_COMMON_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-arabic.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,88 @@
    +/* fribidi-arabic.h - do Arabic shaping to presentation forms
    + *
    + * Copyright (C) 2005 Behdad Esfahbod
    + *
    + * This file is part of GNU FriBidi.
    + *
    + * GNU FriBidi is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public License
    + * as published by the Free Software Foundation; either version 2.1
    + * of the License, or (at your option) any later version.
    + *
    + * GNU FriBidi is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    + * GNU Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with GNU FriBidi; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
    + *
    + * For licensing issues, contact <license@farsiweb.info> or write to
    + * Sharif FarsiWeb, Inc., PO Box 13445-389, Tehran, Iran.
    + */
    +/* $Id: fribidi-arabic.h,v 1.1 2005/11/03 01:39:01 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2005/11/03 01:39:01 $
    + * $Revision: 1.1 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-arabic.h,v $
    + *
    + * Author(s):
    + * Behdad Esfahbod, 2005
    + */
    +#ifndef _FRIBIDI_ARABIC_H
    +#define _FRIBIDI_ARABIC_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +#include "fribidi-flags.h"
    +#include "fribidi-bidi-types.h"
    +#include "fribidi-joining.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +
    +#define fribidi_shape_arabic FRIBIDI_NAMESPACE(shape_arabic)
    +/* fribidi_shape_arabic - do Arabic shaping
    + *
    + * The actual shaping that is done depends on the flags set. Only flags
    + * starting with FRIBIDI_FLAG_SHAPE_ARAB_ affect this function.
    + * Currently these are:
    + *
    + * * FRIBIDI_FLAG_SHAPE_MIRRORING: Do mirroring.
    + * * FRIBIDI_FLAG_SHAPE_ARAB_PRES: Shape Arabic characters to their
    + * presentation form glyphs.
    + * * FRIBIDI_FLAG_SHAPE_ARAB_LIGA: Form mandatory Arabic ligatures.
    + * * FRIBIDI_FLAG_SHAPE_ARAB_CONSOLE: Perform additional Arabic shaping
    + * suitable for text rendered on
    + * grid terminals with no mark
    + * rendering capabilities.
    + *
    + * Of the above, FRIBIDI_FLAG_SHAPE_ARAB_CONSOLE is only used in special
    + * cases, but the rest are recommended in any enviroment that doesn't have
    + * other means for doing Arabic shaping. The set of extra flags that enable
    + * this level of Arabic support has a shortcut named FRIBIDI_FLAGS_ARABIC.
    + */
    +FRIBIDI_ENTRY void
    +fribidi_shape_arabic (
    + FriBidiFlags flags, /* shaping flags */
    + const FriBidiLevel *embedding_levels,
    + const FriBidiStrIndex len, /* input string length */
    + FriBidiArabicProp *ar_props, /* input/output Arabic properties as
    + * computed by fribidi_join_arabic */
    + FriBidiChar *str /* string to shape */
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_ARABIC_H */
    +/* Editor directions:
    + * Local Variables:
    + * mode: c
    + * c-basic-offset: 2
    + * indent-tabs-mode: t
    + * tab-width: 8
    + * End:
    + * vim: textwidth=78: autoindent: cindent: shiftwidth=2: tabstop=8:
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-begindecls.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,3 @@
    +#ifdef FRIBIDI_BEGIN_DECLS
    +FRIBIDI_BEGIN_DECLS
    +#endif /* FRIBIDI_BEGIN_DECLS */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-bidi-types-list.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,98 @@
    +#ifndef __FRIBIDI_DOC
    +/* FriBidi
    + * fribidi-bidi-types-list.h - list of bidi types
    + *
    + * $Id: fribidi-bidi-types-list.h,v 1.5 2004/06/13 20:11:42 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/13 20:11:42 $
    + * $Revision: 1.5 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-bidi-types-list.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +/* *INDENT-OFF* */
    +#endif /* !__FRIBIDI_DOC */
    +#ifndef _FRIBIDI_ADD_TYPE
    +# define _FRIBIDI_ADD_TYPE(x,y)
    +#endif
    +#ifndef _FRIBIDI_ADD_ALIAS
    +# define _FRIBIDI_ADD_ALIAS(x1,x2)
    +#endif
    +
    +#if !defined(_FRIBIDI_PAR_TYPES) || defined(_FRIBIDI_ALL_TYPES)
    +
    +_FRIBIDI_ADD_TYPE (LTR, 'L') /* Left-To-Right letter */
    +_FRIBIDI_ADD_TYPE (RTL, 'R') /* Right-To-Left letter */
    +_FRIBIDI_ADD_TYPE (AL, 'A') /* Arabic Letter */
    +_FRIBIDI_ADD_TYPE (EN, '1') /* European Numeral */
    +_FRIBIDI_ADD_TYPE (AN, '9') /* Arabic Numeral */
    +_FRIBIDI_ADD_TYPE (ES, 'w') /* European number Separator */
    +_FRIBIDI_ADD_TYPE (ET, 'w') /* European number Terminator */
    +_FRIBIDI_ADD_TYPE (CS, 'w') /* Common Separator */
    +_FRIBIDI_ADD_TYPE (NSM, '`') /* Non Spacing Mark */
    +_FRIBIDI_ADD_TYPE (BN, 'b') /* Boundary Neutral */
    +_FRIBIDI_ADD_TYPE (BS, 'B') /* Block Separator */
    +_FRIBIDI_ADD_TYPE (SS, 'S') /* Segment Separator */
    +_FRIBIDI_ADD_TYPE (WS, '_') /* WhiteSpace */
    +_FRIBIDI_ADD_TYPE (ON, 'n') /* Other Neutral */
    +_FRIBIDI_ADD_TYPE (LRE, '+') /* Left-to-Right Embedding */
    +_FRIBIDI_ADD_TYPE (RLE, '+') /* Right-to-Left Embedding */
    +_FRIBIDI_ADD_TYPE (LRO, '+') /* Left-to-Right Override */
    +_FRIBIDI_ADD_TYPE (RLO, '+') /* Right-to-Left Override */
    +_FRIBIDI_ADD_TYPE (PDF, '-') /* Pop Directional Flag */
    +
    +#if defined(_FRIBIDI_ADD_ALIAS)
    +_FRIBIDI_ADD_ALIAS (L, LTR)
    +_FRIBIDI_ADD_ALIAS (R, RTL)
    +_FRIBIDI_ADD_ALIAS (B, BS)
    +_FRIBIDI_ADD_ALIAS (S, SS)
    +#endif /* _FRIBIDI_ADD_ALIAS */
    +
    +#if defined(_FRIBIDI_SENTINEL_TYPE) || defined(_FRIBIDI_ALL_TYPES)
    +_FRIBIDI_ADD_TYPE (SENTINEL, '$') /* SENTINEL */
    +#endif /* _FRIBIDI_SENTINEL_TYPES || _FRIBIDI_ALL_TYPES*/
    +#endif /* !_FRIBIDI_PAR_TYPES || _FRIBIDI_ALL_TYPES */
    +
    +#if defined(_FRIBIDI_PAR_TYPES) || defined(_FRIBIDI_ALL_TYPES)
    +# if !defined(_FRIBIDI_ALL_TYPES)
    +_FRIBIDI_ADD_TYPE (LTR, 'L') /* Left-To-Right paragraph */
    +_FRIBIDI_ADD_TYPE (RTL, 'R') /* Right-To-Left paragraph */
    +_FRIBIDI_ADD_TYPE (ON, 'n') /* directiOn-Neutral paragraph */
    +# endif /* !_FRIBIDI_ALL_TYPES */
    +_FRIBIDI_ADD_TYPE (WLTR, 'l') /* Weak Left To Right paragraph */
    +_FRIBIDI_ADD_TYPE (WRTL, 'r') /* Weak Right To Left paragraph */
    +#endif /* _FRIBIDI_PAR_TYPES || _FRIBIDI_ALL_TYPES*/
    +
    +#if defined(_FRIBIDI_ENUM_TYPES)
    +typedef enum {
    +# define _FRIBIDI_ADD_TYPE _FRIBIDI_ENUM_ADD_TYPE
    +# include "fribidi-bidi-types-list.h"
    +# undef _FRIBIDI_ADD_TYPE
    + _FRIBIDI_TYPES_MAX
    +} _FRIBIDI_ENUM_TYPES
    +#endif /* _FRIBIDI_ENUM_TYPES */
    +
    +#ifndef __FRIBIDI_DOC
    +/* *INDENT-ON* */
    +#endif /* !__FRIBIDI_DOC */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-bidi-types.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,389 @@
    +/* FriBidi
    + * fribidi-bidi-types.h - character bidi types
    + *
    + * $Id: fribidi-bidi-types.h,v 1.15 2008-11-24 17:48:31 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2008-11-24 17:48:31 $
    + * $Revision: 1.15 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-bidi-types.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_BIDI_TYPES_H
    +#define _FRIBIDI_BIDI_TYPES_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +typedef signed char FriBidiLevel;
    +
    +/*
    + * Define bit masks that bidi types are based on, each mask has
    + * only one bit set.
    + */
    +
    +/* RTL mask better be the least significant bit. */
    +#define FRIBIDI_MASK_RTL 0x00000001L /* Is right to left */
    +#define FRIBIDI_MASK_ARABIC 0x00000002L /* Is arabic */
    +
    +/* Each char can be only one of the three following. */
    +#define FRIBIDI_MASK_STRONG 0x00000010L /* Is strong */
    +#define FRIBIDI_MASK_WEAK 0x00000020L /* Is weak */
    +#define FRIBIDI_MASK_NEUTRAL 0x00000040L /* Is neutral */
    +#define FRIBIDI_MASK_SENTINEL 0x00000080L /* Is sentinel */
    +/* Sentinels are not valid chars, just identify the start/end of strings. */
    +
    +/* Each char can be only one of the five following. */
    +#define FRIBIDI_MASK_LETTER 0x00000100L /* Is letter: L, R, AL */
    +#define FRIBIDI_MASK_NUMBER 0x00000200L /* Is number: EN, AN */
    +#define FRIBIDI_MASK_NUMSEPTER 0x00000400L /* Is separator or terminator: ES, ET, CS */
    +#define FRIBIDI_MASK_SPACE 0x00000800L /* Is space: BN, BS, SS, WS */
    +#define FRIBIDI_MASK_EXPLICIT 0x00001000L /* Is expilict mark: LRE, RLE, LRO, RLO, PDF */
    +
    +/* Can be set only if FRIBIDI_MASK_SPACE is also set. */
    +#define FRIBIDI_MASK_SEPARATOR 0x00002000L /* Is text separator: BS, SS */
    +/* Can be set only if FRIBIDI_MASK_EXPLICIT is also set. */
    +#define FRIBIDI_MASK_OVERRIDE 0x00004000L /* Is explicit override: LRO, RLO */
    +
    +/* The following exist to make types pairwise different, some of them can
    + * be removed but are here because of efficiency (make queries faster). */
    +
    +#define FRIBIDI_MASK_ES 0x00010000L
    +#define FRIBIDI_MASK_ET 0x00020000L
    +#define FRIBIDI_MASK_CS 0x00040000L
    +
    +#define FRIBIDI_MASK_NSM 0x00080000L
    +#define FRIBIDI_MASK_BN 0x00100000L
    +
    +#define FRIBIDI_MASK_BS 0x00200000L
    +#define FRIBIDI_MASK_SS 0x00400000L
    +#define FRIBIDI_MASK_WS 0x00800000L
    +
    +/* We reserve a single bit for user's private use: we will never use it. */
    +#define FRIBIDI_MASK_PRIVATE 0x01000000L
    +
    +
    +/*
    + * Define values for FriBidiCharType
    + */
    +
    +/* Strong types */
    +
    +/* Left-To-Right letter */
    +#define FRIBIDI_TYPE_LTR_VAL ( FRIBIDI_MASK_STRONG | FRIBIDI_MASK_LETTER )
    +/* Right-To-Left letter */
    +#define FRIBIDI_TYPE_RTL_VAL ( FRIBIDI_MASK_STRONG | FRIBIDI_MASK_LETTER \
    + | FRIBIDI_MASK_RTL)
    +/* Arabic Letter */
    +#define FRIBIDI_TYPE_AL_VAL ( FRIBIDI_MASK_STRONG | FRIBIDI_MASK_LETTER \
    + | FRIBIDI_MASK_RTL | FRIBIDI_MASK_ARABIC )
    +/* Left-to-Right Embedding */
    +#define FRIBIDI_TYPE_LRE_VAL ( FRIBIDI_MASK_STRONG | FRIBIDI_MASK_EXPLICIT)
    +/* Right-to-Left Embedding */
    +#define FRIBIDI_TYPE_RLE_VAL ( FRIBIDI_MASK_STRONG | FRIBIDI_MASK_EXPLICIT \
    + | FRIBIDI_MASK_RTL )
    +/* Left-to-Right Override */
    +#define FRIBIDI_TYPE_LRO_VAL ( FRIBIDI_MASK_STRONG | FRIBIDI_MASK_EXPLICIT \
    + | FRIBIDI_MASK_OVERRIDE )
    +/* Right-to-Left Override */
    +#define FRIBIDI_TYPE_RLO_VAL ( FRIBIDI_MASK_STRONG | FRIBIDI_MASK_EXPLICIT \
    + | FRIBIDI_MASK_RTL | FRIBIDI_MASK_OVERRIDE )
    +
    +/* Weak types */
    +
    +/* Pop Directional Flag*/
    +#define FRIBIDI_TYPE_PDF_VAL ( FRIBIDI_MASK_WEAK | FRIBIDI_MASK_EXPLICIT )
    +/* European Numeral */
    +#define FRIBIDI_TYPE_EN_VAL ( FRIBIDI_MASK_WEAK | FRIBIDI_MASK_NUMBER )
    +/* Arabic Numeral */
    +#define FRIBIDI_TYPE_AN_VAL ( FRIBIDI_MASK_WEAK | FRIBIDI_MASK_NUMBER \
    + | FRIBIDI_MASK_ARABIC )
    +/* European number Separator */
    +#define FRIBIDI_TYPE_ES_VAL ( FRIBIDI_MASK_WEAK | FRIBIDI_MASK_NUMSEPTER \
    + | FRIBIDI_MASK_ES )
    +/* European number Terminator */
    +#define FRIBIDI_TYPE_ET_VAL ( FRIBIDI_MASK_WEAK | FRIBIDI_MASK_NUMSEPTER \
    + | FRIBIDI_MASK_ET )
    +/* Common Separator */
    +#define FRIBIDI_TYPE_CS_VAL ( FRIBIDI_MASK_WEAK | FRIBIDI_MASK_NUMSEPTER \
    + | FRIBIDI_MASK_CS )
    +/* Non Spacing Mark */
    +#define FRIBIDI_TYPE_NSM_VAL ( FRIBIDI_MASK_WEAK | FRIBIDI_MASK_NSM )
    +/* Boundary Neutral */
    +#define FRIBIDI_TYPE_BN_VAL ( FRIBIDI_MASK_WEAK | FRIBIDI_MASK_SPACE \
    + | FRIBIDI_MASK_BN )
    +
    +/* Neutral types */
    +
    +/* Block Separator */
    +#define FRIBIDI_TYPE_BS_VAL ( FRIBIDI_MASK_NEUTRAL | FRIBIDI_MASK_SPACE \
    + | FRIBIDI_MASK_SEPARATOR | FRIBIDI_MASK_BS )
    +/* Segment Separator */
    +#define FRIBIDI_TYPE_SS_VAL ( FRIBIDI_MASK_NEUTRAL | FRIBIDI_MASK_SPACE \
    + | FRIBIDI_MASK_SEPARATOR | FRIBIDI_MASK_SS )
    +/* WhiteSpace */
    +#define FRIBIDI_TYPE_WS_VAL ( FRIBIDI_MASK_NEUTRAL | FRIBIDI_MASK_SPACE \
    + | FRIBIDI_MASK_WS )
    +/* Other Neutral */
    +#define FRIBIDI_TYPE_ON_VAL ( FRIBIDI_MASK_NEUTRAL )
    +
    +
    +/* The following are used in specifying paragraph direction only. */
    +
    +/* Weak Left-To-Right */
    +#define FRIBIDI_TYPE_WLTR_VAL ( FRIBIDI_MASK_WEAK )
    +/* Weak Right-To-Left */
    +#define FRIBIDI_TYPE_WRTL_VAL ( FRIBIDI_MASK_WEAK | FRIBIDI_MASK_RTL )
    +
    +/* start or end of text (run list) SENTINEL. Only used internally */
    +#define FRIBIDI_TYPE_SENTINEL ( FRIBIDI_MASK_SENTINEL )
    +
    +/* Private types for applications. More private types can be obtained by
    + * summing up from this one. */
    +#define FRIBIDI_TYPE_PRIVATE ( FRIBIDI_MASK_PRIVATE )
    +
    +
    +/* Define Enums only if sizeof(int) == 4 (UTF-32), and not compiling C++.
    + * The problem with C++ is that then casts between int32 and enum will fail!
    + */
    +#if defined(__FRIBIDI_DOC) || (FRIBIDI_SIZEOF_INT+0 == 4 && !defined(__cplusplus))
    +
    +typedef enum
    +{
    +# define _FRIBIDI_ADD_TYPE(TYPE,SYMBOL) \
    + FRIBIDI_TYPE_##TYPE = FRIBIDI_TYPE_##TYPE##_VAL,
    +# include "fribidi-bidi-types-list.h"
    +# undef _FRIBIDI_ADD_TYPE
    + _FRIBIDI_TYPE_SENTINEL = FRIBIDI_TYPE_SENTINEL /* Don't use this */
    +} FriBidiCharType;
    +
    +typedef enum
    +{
    +# define _FRIBIDI_PAR_TYPES
    +# define _FRIBIDI_ADD_TYPE(TYPE,SYMBOL) \
    + FRIBIDI_PAR_##TYPE = FRIBIDI_TYPE_##TYPE##_VAL,
    +# include "fribidi-bidi-types-list.h"
    +# undef _FRIBIDI_ADD_TYPE
    +# undef _FRIBIDI_PAR_TYPES
    + _FRIBIDI_PAR_SENTINEL = FRIBIDI_TYPE_SENTINEL /* Don't use this */
    +} FriBidiParType;
    +
    +#else
    +
    +typedef fribidi_uint32 FriBidiCharType;
    +# define FRIBIDI_TYPE_LTR FRIBIDI_TYPE_LTR_VAL
    +# define FRIBIDI_TYPE_RTL FRIBIDI_TYPE_RTL_VAL
    +# define FRIBIDI_TYPE_AL FRIBIDI_TYPE_AL_VAL
    +# define FRIBIDI_TYPE_EN FRIBIDI_TYPE_EN_VAL
    +# define FRIBIDI_TYPE_AN FRIBIDI_TYPE_AN_VAL
    +# define FRIBIDI_TYPE_ES FRIBIDI_TYPE_ES_VAL
    +# define FRIBIDI_TYPE_ET FRIBIDI_TYPE_ET_VAL
    +# define FRIBIDI_TYPE_CS FRIBIDI_TYPE_CS_VAL
    +# define FRIBIDI_TYPE_NSM FRIBIDI_TYPE_NSM_VAL
    +# define FRIBIDI_TYPE_BN FRIBIDI_TYPE_BN_VAL
    +# define FRIBIDI_TYPE_BS FRIBIDI_TYPE_BS_VAL
    +# define FRIBIDI_TYPE_SS FRIBIDI_TYPE_SS_VAL
    +# define FRIBIDI_TYPE_WS FRIBIDI_TYPE_WS_VAL
    +# define FRIBIDI_TYPE_ON FRIBIDI_TYPE_ON_VAL
    +# define FRIBIDI_TYPE_LRE FRIBIDI_TYPE_LRE_VAL
    +# define FRIBIDI_TYPE_RLE FRIBIDI_TYPE_RLE_VAL
    +# define FRIBIDI_TYPE_LRO FRIBIDI_TYPE_LRO_VAL
    +# define FRIBIDI_TYPE_RLO FRIBIDI_TYPE_RLO_VAL
    +# define FRIBIDI_TYPE_PDF FRIBIDI_TYPE_PDF_VAL
    +
    +typedef fribidi_uint32 FriBidiParType;
    +# define FRIBIDI_PAR_LTR FRIBIDI_TYPE_LTR_VAL
    +# define FRIBIDI_PAR_RTL FRIBIDI_TYPE_RTL_VAL
    +# define FRIBIDI_PAR_ON FRIBIDI_TYPE_ON_VAL
    +# define FRIBIDI_PAR_WLTR FRIBIDI_TYPE_WLTR_VAL
    +# define FRIBIDI_PAR_WRTL FRIBIDI_TYPE_WRTL_VAL
    +
    +#endif
    +
    +/* Please don't use these two type names, use FRIBIDI_PAR_* form instead. */
    +#define FRIBIDI_TYPE_WLTR FRIBIDI_PAR_WLTR
    +#define FRIBIDI_TYPE_WRTL FRIBIDI_PAR_WRTL
    +
    +
    +/*
    + * Defining macros for needed queries, It is fully dependent on the
    + * implementation of FriBidiCharType.
    + */
    +
    +
    +/* Is right-to-left level? */
    +#define FRIBIDI_LEVEL_IS_RTL(lev) ((lev) & 1)
    +
    +/* Return the bidi type corresponding to the direction of the level number,
    + FRIBIDI_TYPE_LTR for evens and FRIBIDI_TYPE_RTL for odds. */
    +#define FRIBIDI_LEVEL_TO_DIR(lev) \
    + (FRIBIDI_LEVEL_IS_RTL (lev) ? FRIBIDI_TYPE_RTL : FRIBIDI_TYPE_LTR)
    +
    +/* Return the minimum level of the direction, 0 for FRIBIDI_TYPE_LTR and
    + 1 for FRIBIDI_TYPE_RTL and FRIBIDI_TYPE_AL. */
    +#define FRIBIDI_DIR_TO_LEVEL(dir) \
    + ((FriBidiLevel) (FRIBIDI_IS_RTL (dir) ? 1 : 0))
    +
    +/* Is right to left: RTL, AL, RLE, RLO? */
    +#define FRIBIDI_IS_RTL(p) ((p) & FRIBIDI_MASK_RTL)
    +/* Is arabic: AL, AN? */
    +#define FRIBIDI_IS_ARABIC(p) ((p) & FRIBIDI_MASK_ARABIC)
    +
    +/* Is strong? */
    +#define FRIBIDI_IS_STRONG(p) ((p) & FRIBIDI_MASK_STRONG)
    +/* Is weak? */
    +#define FRIBIDI_IS_WEAK(p) ((p) & FRIBIDI_MASK_WEAK)
    +/* Is neutral? */
    +#define FRIBIDI_IS_NEUTRAL(p) ((p) & FRIBIDI_MASK_NEUTRAL)
    +/* Is sentinel? */
    +#define FRIBIDI_IS_SENTINEL(p) ((p) & FRIBIDI_MASK_SENTINEL)
    +
    +/* Is letter: L, R, AL? */
    +#define FRIBIDI_IS_LETTER(p) ((p) & FRIBIDI_MASK_LETTER)
    +/* Is number: EN, AN? */
    +#define FRIBIDI_IS_NUMBER(p) ((p) & FRIBIDI_MASK_NUMBER)
    +/* Is number separator or terminator: ES, ET, CS? */
    +#define FRIBIDI_IS_NUMBER_SEPARATOR_OR_TERMINATOR(p) \
    + ((p) & FRIBIDI_MASK_NUMSEPTER)
    +/* Is space: BN, BS, SS, WS? */
    +#define FRIBIDI_IS_SPACE(p) ((p) & FRIBIDI_MASK_SPACE)
    +/* Is explicit mark: LRE, RLE, LRO, RLO, PDF? */
    +#define FRIBIDI_IS_EXPLICIT(p) ((p) & FRIBIDI_MASK_EXPLICIT)
    +
    +/* Is text separator: BS, SS? */
    +#define FRIBIDI_IS_SEPARATOR(p) ((p) & FRIBIDI_MASK_SEPARATOR)
    +
    +/* Is explicit override: LRO, RLO? */
    +#define FRIBIDI_IS_OVERRIDE(p) ((p) & FRIBIDI_MASK_OVERRIDE)
    +
    +/* Some more: */
    +
    +/* Is left to right letter: LTR? */
    +#define FRIBIDI_IS_LTR_LETTER(p) \
    + ((p) & (FRIBIDI_MASK_LETTER | FRIBIDI_MASK_RTL) == FRIBIDI_MASK_LETTER)
    +
    +/* Is right to left letter: RTL, AL? */
    +#define FRIBIDI_IS_RTL_LETTER(p) \
    + ((p) & (FRIBIDI_MASK_LETTER | FRIBIDI_MASK_RTL) \
    + == (FRIBIDI_MASK_LETTER | FRIBIDI_MASK_RTL))
    +
    +/* Is ES or CS: ES, CS? */
    +#define FRIBIDI_IS_ES_OR_CS(p) \
    + ((p) & (FRIBIDI_MASK_ES | FRIBIDI_MASK_CS))
    +
    +/* Is explicit or BN: LRE, RLE, LRO, RLO, PDF, BN? */
    +#define FRIBIDI_IS_EXPLICIT_OR_BN(p) \
    + ((p) & (FRIBIDI_MASK_EXPLICIT | FRIBIDI_MASK_BN))
    +
    +/* Is explicit or BN or NSM: LRE, RLE, LRO, RLO, PDF, BN, NSM? */
    +#define FRIBIDI_IS_EXPLICIT_OR_BN_OR_NSM(p) \
    + ((p) & (FRIBIDI_MASK_EXPLICIT | FRIBIDI_MASK_BN | FRIBIDI_MASK_NSM))
    +
    +/* Is explicit or BN or WS: LRE, RLE, LRO, RLO, PDF, BN, WS? */
    +#define FRIBIDI_IS_EXPLICIT_OR_BN_OR_WS(p) \
    + ((p) & (FRIBIDI_MASK_EXPLICIT | FRIBIDI_MASK_BN | FRIBIDI_MASK_WS))
    +
    +/* Is explicit or separator or BN or WS: LRE, RLE, LRO, RLO, PDF, BS, SS, BN, WS? */
    +#define FRIBIDI_IS_EXPLICIT_OR_SEPARATOR_OR_BN_OR_WS(p) \
    + ((p) & (FRIBIDI_MASK_EXPLICIT | FRIBIDI_MASK_SEPARATOR \
    + | FRIBIDI_MASK_BN | FRIBIDI_MASK_WS))
    +
    +/* Is private-use type for application? */
    +#define FRIBIDI_IS_PRIVATE(p) ((p) & FRIBIDI_MASK_PRIVATE)
    +
    +/* Define some conversions. */
    +
    +/* Change numbers to RTL: EN,AN -> RTL. */
    +#define FRIBIDI_CHANGE_NUMBER_TO_RTL(p) \
    + (FRIBIDI_IS_NUMBER(p) ? FRIBIDI_TYPE_RTL : (p))
    +
    +/* Override status of an explicit mark:
    + * LRO,LRE->LTR, RLO,RLE->RTL, otherwise->ON. */
    +#define FRIBIDI_EXPLICIT_TO_OVERRIDE_DIR(p) \
    + (FRIBIDI_IS_OVERRIDE(p) ? FRIBIDI_LEVEL_TO_DIR(FRIBIDI_DIR_TO_LEVEL(p)) \
    + : FRIBIDI_TYPE_ON)
    +
    +/* Weaken type for paragraph fallback purposes:
    + * LTR->WLTR, RTL->WRTL. */
    +#define FRIBIDI_WEAK_PARAGRAPH(p) (FRIBIDI_PAR_WLTR | ((p) & FRIBIDI_MASK_RTL))
    +
    +
    +/* Functions finally */
    +
    +
    +#define fribidi_get_bidi_type FRIBIDI_NAMESPACE(get_bidi_type)
    +/* fribidi_get_bidi_type - get character bidi type
    + *
    + * This function returns the bidi type of a character as defined in Table 3.7
    + * Bidirectional Character Types of the Unicode Bidirectional Algorithm
    + * available at
    + * http://www.unicode.org/reports/tr9/#Bidirectional_Character_Types, using
    + * data provided in file UnicodeData.txt of the Unicode Character Database
    + * available at http://www.unicode.org/Public/UNIDATA/UnicodeData.txt.
    + *
    + * There are a few macros defined in fribidi-bidi-types.h for querying a bidi
    + * type.
    + */
    +FRIBIDI_ENTRY FriBidiCharType
    +fribidi_get_bidi_type (
    + FriBidiChar ch /* input character */
    +) FRIBIDI_GNUC_CONST;
    +
    +#define fribidi_get_bidi_types FRIBIDI_NAMESPACE(get_bidi_types)
    +/* fribidi_get_bidi_types - get bidi types for an string of characters
    + *
    + * This function finds the bidi types of an string of characters. See
    + * fribidi_get_bidi_type() for more information about the bidi types returned
    + * by this function.
    + */
    + FRIBIDI_ENTRY void fribidi_get_bidi_types (
    + const FriBidiChar *str, /* input string */
    + const FriBidiStrIndex len, /* input string length */
    + FriBidiCharType *btypes /* output bidi types */
    +);
    +
    +#define fribidi_get_bidi_type_name FRIBIDI_NAMESPACE(get_bidi_type_name)
    +/* fribidi_get_bidi_type_name - get bidi type name
    + *
    + * This function returns the bidi type name of a character type. The
    + * returned string is a static string and should not be freed.
    + *
    + * The type names are the same as ones defined in Table 3.7 Bidirectional
    + * Character Types of the Unicode Bidirectional Algorithm available at
    + * http://www.unicode.org/reports/tr9/#Bidirectional_Character_Types, with a
    + * few modifications: L->LTR, R->RTL, B->BS, S->SS.
    + */
    + FRIBIDI_ENTRY const char *fribidi_get_bidi_type_name (
    + FriBidiCharType t /* input bidi type */
    +) FRIBIDI_GNUC_CONST;
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_BIDI_TYPES_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-bidi.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,149 @@
    +/* FriBidi
    + * fribidi-bidi.h - bidirectional algorithm
    + *
    + * $Id: fribidi-bidi.h,v 1.15 2005/11/03 01:39:01 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2005/11/03 01:39:01 $
    + * $Revision: 1.15 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-bidi.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + * Copyright (C) 1999,2000 Dov Grobgeld
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_BIDI_H
    +#define _FRIBIDI_BIDI_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +#include "fribidi-flags.h"
    +#include "fribidi-bidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +#define fribidi_get_par_embedding_levels FRIBIDI_NAMESPACE(get_par_embedding_levels)
    +/* fribidi_get_par_direction - get base paragraph direction
    + *
    + * This function finds the base direction of a single paragraph,
    + * as defined by rule P2 of the Unicode Bidirectional Algorithm available at
    + * http://www.unicode.org/reports/tr9/#P2.
    + *
    + * You typically do not need this function as
    + * fribidi_get_par_embedding_levels() knows how to compute base direction
    + * itself, but you may need this to implement a more sophisticated paragraph
    + * direction handling. Note that you can pass more than a paragraph to this
    + * function and the direction of the first non-neutral paragraph is returned,
    + * which is a very good heuristic to set direction of the neutral paragraphs
    + * at the beginning of text. For other neutral paragraphs, you better use the
    + * direction of the previous paragraph.
    + *
    + * Returns: Base pargraph direction. No weak paragraph direction is returned,
    + * only LTR, RTL, or ON.
    + */
    +FRIBIDI_ENTRY FriBidiParType fribidi_get_par_direction (
    + const FriBidiCharType *bidi_types, /* input list of bidi types as returned by
    + fribidi_get_bidi_types() */
    + const FriBidiStrIndex len /* input string length */
    +);
    +
    +#define fribidi_get_par_embedding_levels FRIBIDI_NAMESPACE(get_par_embedding_levels)
    +/* fribidi_get_par_embedding_levels - get bidi embedding levels of a paragraph
    + *
    + * This function finds the bidi embedding levels of a single paragraph,
    + * as defined by the Unicode Bidirectional Algorithm available at
    + * http://www.unicode.org/reports/tr9/. This function implements rules P2 to
    + * I1 inclusive, and parts 1 to 3 of L1, except for rule X9 which is
    + * implemented in fribidi_remove_bidi_marks(). Part 4 of L1 is implemented
    + * in fribidi_reorder_line().
    + *
    + * There are a few macros defined in fribidi-bidi-types.h to work with this
    + * embedding levels.
    + *
    + * Returns: Maximum level found plus one, or zero if any error occured
    + * (memory allocation failure most probably).
    + */
    +FRIBIDI_ENTRY FriBidiLevel
    +fribidi_get_par_embedding_levels (
    + const FriBidiCharType *bidi_types, /* input list of bidi types as returned by
    + fribidi_get_bidi_types() */
    + const FriBidiStrIndex len, /* input string length of the paragraph */
    + FriBidiParType *pbase_dir, /* requested and resolved paragraph
    + * base direction */
    + FriBidiLevel *embedding_levels /* output list of embedding levels */
    +) FRIBIDI_GNUC_WARN_UNUSED;
    +
    +#define fribidi_reorder_line FRIBIDI_NAMESPACE(reorder_line)
    +/* fribidi_reorder_line - reorder a line of logical string to visual
    + *
    + * This function reorders the characters in a line of text from logical to
    + * final visual order. This function implements part 4 of rule L1, and rules
    + * L2 and L3 of the Unicode Bidirectional Algorithm available at
    + * http://www.unicode.org/reports/tr9/#Reordering_Resolved_Levels.
    + *
    + * As a side effect it also sets position maps if not NULL.
    + *
    + * You should provide the resolved paragraph direction and embedding levels as
    + * set by fribidi_get_par_embedding_levels(). Also note that the embedding
    + * levels may change a bit. To be exact, the embedding level of any sequence
    + * of white space at the end of line is reset to the paragraph embedding level
    + * (That is part 4 of rule L1).
    + *
    + * Note that the bidi types and embedding levels are not reordered. You can
    + * reorder these (or any other) arrays using the map later. The user is
    + * responsible to initialize map to something sensible, like an identity
    + * mapping, or pass NULL if no map is needed.
    + *
    + * There is an optional part to this function, which is whether non-spacing
    + * marks for right-to-left parts of the text should be reordered to come after
    + * their base characters in the visual string or not. Most rendering engines
    + * expect this behavior, but console-based systems for example do not like it.
    + * This is controlled by the FRIBIDI_FLAG_REORDER_NSM flag. The flag is on
    + * in FRIBIDI_FLAGS_DEFAULT.
    + *
    + * Returns: Maximum level found in this line plus one, or zero if any error
    + * occured (memory allocation failure most probably).
    + */
    + FRIBIDI_ENTRY FriBidiLevel fribidi_reorder_line (
    + FriBidiFlags flags, /* reorder flags */
    + const FriBidiCharType *bidi_types, /* input list of bidi types as returned by
    + fribidi_get_bidi_types() */
    + const FriBidiStrIndex len, /* input length of the line */
    + const FriBidiStrIndex off, /* input offset of the beginning of the line
    + in the paragraph */
    + const FriBidiParType base_dir, /* resolved paragraph base direction */
    + FriBidiLevel *embedding_levels, /* input list of embedding levels,
    + as returned by
    + fribidi_get_par_embedding_levels */
    + FriBidiChar *visual_str, /* visual string to reorder */
    + FriBidiStrIndex *map /* a map of string indices which is reordered
    + * to reflect where each glyph ends up. */
    +) FRIBIDI_GNUC_WARN_UNUSED;
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_BIDI_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-cap-rtl.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,72 @@
    +/* FriBidi
    + * fribidi-char-sets-cap-rtl.h - CapRTL character set conversion routines
    + *
    + * $Id: fribidi-char-sets-cap-rtl.h,v 1.2 2004/06/09 14:59:21 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/09 14:59:21 $
    + * $Revision: 1.2 $
    + * $Source: /cvs/fribidi/fribidi2/charset/fribidi-char-sets-cap-rtl.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + * Copyright (C) 1999,2000 Dov Grobgeld
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +
    +#ifndef _FRIBIDI_CHAR_SETS_CAP_RTL_H
    +#define _FRIBIDI_CHAR_SETS_CAP_RTL_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +#define fribidi_char_set_name_cap_rtl "CapRTL"
    +#define fribidi_char_set_title_cap_rtl "CapRTL (Test)"
    +
    +#define fribidi_char_set_desc_cap_rtl FRIBIDI_NAMESPACE(char_set_desc_cap_rtl)
    +const char *fribidi_char_set_desc_cap_rtl (
    + void
    +);
    +
    +#define fribidi_cap_rtl_to_unicode FRIBIDI_NAMESPACE(cap_rtl_to_unicode)
    +FriBidiStrIndex fribidi_cap_rtl_to_unicode (
    + const char *s,
    + FriBidiStrIndex length,
    + FriBidiChar *us
    +);
    +
    +#define fribidi_unicode_to_cap_rtl FRIBIDI_NAMESPACE(unicode_to_cap_rtl)
    +FriBidiStrIndex fribidi_unicode_to_cap_rtl (
    + const FriBidiChar *us,
    + FriBidiStrIndex length,
    + char *s
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_CHAR_SETS_CAP_RTL_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-cp1255.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,64 @@
    +/* FriBidi
    + * fribidi-char-sets-cp1255.h - CP1255 character set conversion routines
    + *
    + * $Id: fribidi-char-sets-cp1255.h,v 1.2 2004/06/09 14:59:21 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/09 14:59:21 $
    + * $Revision: 1.2 $
    + * $Source: /cvs/fribidi/fribidi2/charset/fribidi-char-sets-cp1255.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + * Copyright (C) 1999,2000 Dov Grobgeld
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +
    +#ifndef _FRIBIDI_CHAR_SETS_CP1255_H
    +#define _FRIBIDI_CHAR_SETS_CP1255_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +#define fribidi_char_set_name_cp1255 "CP1255"
    +#define fribidi_char_set_title_cp1255 "CP1255 (MS Hebrew/Yiddish)"
    +#define fribidi_char_set_desc_cp1255 NULL
    +
    +#define fribidi_cp1255_to_unicode_c FRIBIDI_NAMESPACE(cp1255_to_unicode_c)
    +FriBidiChar fribidi_cp1255_to_unicode_c (
    + char ch
    +);
    +
    +#define fribidi_unicode_to_cp1255_c FRIBIDI_NAMESPACE(unicode_to_cp1255_c)
    +char fribidi_unicode_to_cp1255_c (
    + FriBidiChar uch
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_CHAR_SETS_CP1255_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-cp1256.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,64 @@
    +/* FriBidi
    + * fribidi-char-sets-cp1256.h - CP1256 character set conversion routines
    + *
    + * $Id: fribidi-char-sets-cp1256.h,v 1.2 2004/06/09 14:59:21 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/09 14:59:21 $
    + * $Revision: 1.2 $
    + * $Source: /cvs/fribidi/fribidi2/charset/fribidi-char-sets-cp1256.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + * Copyright (C) 1999,2000 Dov Grobgeld
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +
    +#ifndef _FRIBIDI_CHAR_SETS_CP1256_H
    +#define _FRIBIDI_CHAR_SETS_CP1256_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +#define fribidi_char_set_name_cp1256 "CP1256"
    +#define fribidi_char_set_title_cp1256 "CP1256 (MS Arabic)"
    +#define fribidi_char_set_desc_cp1256 NULL
    +
    +#define fribidi_cp1256_to_unicode_c FRIBIDI_NAMESPACE(cp1256_to_unicode_c)
    +FriBidiChar fribidi_cp1256_to_unicode_c (
    + char ch
    +);
    +
    +#define fribidi_unicode_to_cp1256_c FRIBIDI_NAMESPACE(unicode_to_cp1256_c)
    +char fribidi_unicode_to_cp1256_c (
    + FriBidiChar uch
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_CHAR_SETS_CP1256_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-iso8859-6.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,64 @@
    +/* FriBidi
    + * fribidi-char-sets-iso8859-6.h - ISO8859-6 character set conversion routines
    + *
    + * $Id: fribidi-char-sets-iso8859-6.h,v 1.2 2004/06/09 14:59:21 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/09 14:59:21 $
    + * $Revision: 1.2 $
    + * $Source: /cvs/fribidi/fribidi2/charset/fribidi-char-sets-iso8859-6.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + * Copyright (C) 1999,2000 Dov Grobgeld
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +
    +#ifndef _FRIBIDI_CHAR_SETS_ISO8859_6_H
    +#define _FRIBIDI_CHAR_SETS_ISO8859_6_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +#define fribidi_char_set_name_iso8859_6 "ISO8859-6"
    +#define fribidi_char_set_title_iso8859_6 "ISO8859-6 (Arabic)"
    +#define fribidi_char_set_desc_iso8859_6 NULL
    +
    +#define fribidi_iso8859_6_to_unicode_c FRIBIDI_NAMESPACE(iso8859_6_to_unicode_c)
    +FriBidiChar fribidi_iso8859_6_to_unicode_c (
    + char ch
    +);
    +
    +#define fribidi_unicode_to_iso8859_6_c FRIBIDI_NAMESPACE(unicode_to_iso8859_6_c)
    +char fribidi_unicode_to_iso8859_6_c (
    + FriBidiChar uch
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_CHAR_SETS_ISO8859_6_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-iso8859-8.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,64 @@
    +/* FriBidi
    + * fribidi-char-sets-iso8859-8.h - ISO8859-8 character set conversion routines
    + *
    + * $Id: fribidi-char-sets-iso8859-8.h,v 1.2 2004/06/09 14:59:21 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/09 14:59:21 $
    + * $Revision: 1.2 $
    + * $Source: /cvs/fribidi/fribidi2/charset/fribidi-char-sets-iso8859-8.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + * Copyright (C) 1999,2000 Dov Grobgeld
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +
    +#ifndef _FRIBIDI_CHAR_SETS_ISO8859_8_H
    +#define _FRIBIDI_CHAR_SETS_ISO8859_8_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +#define fribidi_char_set_name_iso8859_8 "ISO8859-8"
    +#define fribidi_char_set_title_iso8859_8 "ISO8859-8 (Hebrew)"
    +#define fribidi_char_set_desc_iso8859_8 NULL
    +
    +#define fribidi_iso8859_8_to_unicode_c FRIBIDI_NAMESPACE(iso8859_8_to_unicode_c)
    +FriBidiChar fribidi_iso8859_8_to_unicode_c (
    + char ch
    +);
    +
    +#define fribidi_unicode_to_iso8859_8_c FRIBIDI_NAMESPACE(unicode_to_iso8859_8_c)
    +char fribidi_unicode_to_iso8859_8_c (
    + FriBidiChar uch
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_CHAR_SETS_ISO8859_8_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-list.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,60 @@
    +#ifndef __FRIBIDI_DOC
    +/* FriBidi
    + * fribidi-char-sets-list.h - list of supported character sets
    + *
    + * $Id: fribidi-char-sets-list.h,v 1.3 2004/06/09 14:59:21 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/09 14:59:21 $
    + * $Revision: 1.3 $
    + * $Source: /cvs/fribidi/fribidi2/charset/fribidi-char-sets-list.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +/* *INDENT-OFF* */
    +
    +/* The order of types in this list should not be important at compile time,
    + * but apparently it should not be changed after compilation! */
    +#endif /* !__FRIBIDI_DOC */
    +#ifdef _FRIBIDI_ADD_CHAR_SET
    +# define _FRIBIDI_ADD_CHAR_SET_OTHERS _FRIBIDI_ADD_CHAR_SET
    +# define _FRIBIDI_ADD_CHAR_SET_ONE2ONE _FRIBIDI_ADD_CHAR_SET
    +#endif /* _FRIBIDI_ADD_CHAR_SET */
    +#ifdef _FRIBIDI_ADD_CHAR_SET_OTHERS
    +_FRIBIDI_ADD_CHAR_SET_OTHERS (UTF8, utf8) /* UTF-8 (Unicode) */
    +_FRIBIDI_ADD_CHAR_SET_OTHERS (CAP_RTL, cap_rtl) /* CapRTL (Test) */
    +#endif /* _FRIBIDI_ADD_CHAR_SET_OTHERS */
    +#ifdef _FRIBIDI_ADD_CHAR_SET_ONE2ONE
    +_FRIBIDI_ADD_CHAR_SET_ONE2ONE (ISO8859_6, iso8859_6) /* ISO8859-6 (Arabic) */
    +_FRIBIDI_ADD_CHAR_SET_ONE2ONE (ISO8859_8, iso8859_8) /* ISO8859-8 (Hebrew) */
    +_FRIBIDI_ADD_CHAR_SET_ONE2ONE (CP1255, cp1255) /* CP1255 (MS Hebrew/Yiddish) */
    +_FRIBIDI_ADD_CHAR_SET_ONE2ONE (CP1256, cp1256) /* CP1256 (MS Arabic) */
    +#endif /* _FRIBIDI_ADD_CHAR_SET_ONE2ONE */
    +#ifdef _FRIBIDI_ADD_CHAR_SET
    +# undef _FRIBIDI_ADD_CHAR_SET_OTHERS
    +# undef _FRIBIDI_ADD_CHAR_SET_ONE2ONE
    +#endif /* _FRIBIDI_ADD_CHAR_SET */
    +
    +#ifndef __FRIBIDI_DOC
    +/* *INDENT-ON* */
    +#endif /* !__FRIBIDI_DOC */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets-utf8.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,68 @@
    +/* FriBidi
    + * fribidi-char-sets-utf8.h - UTF-8 character set conversion routines
    + *
    + * $Id: fribidi-char-sets-utf8.h,v 1.2 2004/06/09 14:59:21 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/09 14:59:21 $
    + * $Revision: 1.2 $
    + * $Source: /cvs/fribidi/fribidi2/charset/fribidi-char-sets-utf8.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + * Copyright (C) 1999,2000 Dov Grobgeld
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +
    +#ifndef _FRIBIDI_CHAR_SETS_UTF8_H
    +#define _FRIBIDI_CHAR_SETS_UTF8_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +#define fribidi_char_set_name_utf8 "UTF-8"
    +#define fribidi_char_set_title_utf8 "UTF-8 (Unicode)"
    +#define fribidi_char_set_desc_utf8 NULL
    +
    +#define fribidi_utf8_to_unicode FRIBIDI_NAMESPACE(utf8_to_unicode)
    +FriBidiStrIndex fribidi_utf8_to_unicode (
    + const char *s,
    + FriBidiStrIndex length,
    + FriBidiChar *us
    +);
    +
    +#define fribidi_unicode_to_utf8 FRIBIDI_NAMESPACE(unicode_to_utf8)
    +FriBidiStrIndex fribidi_unicode_to_utf8 (
    + const FriBidiChar *us,
    + FriBidiStrIndex length,
    + char *s
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_CHAR_SETS_UTF8_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-char-sets.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,118 @@
    +/* FriBidi
    + * fribidi-char-sets.h - character set conversion routines
    + *
    + * $Id: fribidi-char-sets.h,v 1.3 2004/06/09 14:59:21 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/09 14:59:21 $
    + * $Revision: 1.3 $
    + * $Source: /cvs/fribidi/fribidi2/charset/fribidi-char-sets.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + * Copyright (C) 1999,2000 Dov Grobgeld
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_CHAR_SETS_H
    +#define _FRIBIDI_CHAR_SETS_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +typedef enum
    +{
    + _FRIBIDI_CHAR_SET_NOT_FOUND,
    +# define _FRIBIDI_ADD_CHAR_SET(CHAR_SET, char_set) FRIBIDI_CHAR_SET_##CHAR_SET,
    +# include "fribidi-char-sets-list.h"
    +# undef _FRIBIDI_ADD_CHAR_SET
    + _FRIBIDI_CHAR_SETS_NUM_PLUS_ONE
    +}
    +FriBidiCharSet;
    +
    +#define FRIBIDI_CHAR_SET_NOT_FOUND _FRIBIDI_CHAR_SET_NOT_FOUND
    +#define FRIBIDI_CHAR_SETS_NUM (_FRIBIDI_CHAR_SETS_NUM_PLUS_ONE - 1)
    +
    +
    +#define fribidi_charset_to_unicode FRIBIDI_NAMESPACE(charset_to_unicode)
    +/* fribidi_charset_to_unicode - convert string to Unicode
    + *
    + * This function converts an string from a character set, to a Unicode string.
    + *
    + * Returns: The length of the new string.
    + */
    +FRIBIDI_ENTRY FriBidiStrIndex fribidi_charset_to_unicode (
    + FriBidiCharSet char_set, /* character set to convert from */
    + const char *s, /* input string encoded in char_set */
    + FriBidiStrIndex len, /* input string length */
    + FriBidiChar *us /* output Unicode string */
    +);
    +
    +#define fribidi_unicode_to_charset FRIBIDI_NAMESPACE(unicode_to_charset)
    +/* fribidi_unicode_to_charset - convert string from Unicode
    + *
    + * This function converts a Unicode string to an string in another character
    + * set. It also null-terminates the output string.
    + *
    + * Returns: The length of the new string.
    + */
    +FRIBIDI_ENTRY FriBidiStrIndex fribidi_unicode_to_charset (
    + FriBidiCharSet char_set, /* character set to conver to */
    + const FriBidiChar *us, /* input Unicode string */
    + FriBidiStrIndex len, /* input string length */
    + char *s /* output string encoded in char_set */
    +);
    +
    +#define fribidi_parse_charset FRIBIDI_NAMESPACE(parse_charset)
    +/* fribidi_parse_charset - parse character set name
    + *
    + * Returns: The character set named s, or FRIBIDI_CHAR_SET_NOT_FOUND if the
    + * character set is not available.
    + */
    +FRIBIDI_ENTRY FriBidiCharSet fribidi_parse_charset (
    + const char *s /* input name of the character set */
    +);
    +
    +
    +#define fribidi_char_set_name FRIBIDI_NAMESPACE(char_set_name)
    +FRIBIDI_ENTRY const char *fribidi_char_set_name (
    + FriBidiCharSet char_set
    +);
    +
    +#define fribidi_char_set_title FRIBIDI_NAMESPACE(char_set_title)
    +FRIBIDI_ENTRY const char *fribidi_char_set_title (
    + FriBidiCharSet char_set
    +);
    +
    +#define fribidi_char_set_desc FRIBIDI_NAMESPACE(char_set_desc)
    +FRIBIDI_ENTRY const char *fribidi_char_set_desc (
    + FriBidiCharSet char_set
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_CHAR_SETS_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-common.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,130 @@
    +/* FriBidi
    + * fribidi-common.h - common include for library headers
    + *
    + * $Id: fribidi-common.h,v 1.13 2007/04/05 16:13:24 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2007/04/05 16:13:24 $
    + * $Revision: 1.13 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-common.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_COMMON_H
    +#define _FRIBIDI_COMMON_H
    +
    +#if DONT_HAVE_FRIBIDI_CONFIG_H+0
    +# define FRIBIDI "fribidi"
    +# define FRIBIDI_NAME "fribidi"
    +# define FRIBIDI_VERSION "unknown"
    +# define FRIBIDI_BUGREPORT "unknown"
    +# define FRIBIDI_INTERFACE_VERSION_STRING "unknown"
    +#else /* !DONT_HAVE_FRIBIDI_CONFIG_H */
    +# include "fribidi-config.h"
    +#endif /* !DONT_HAVE_FRIBIDI_CONFIG_H */
    +
    +#if HAVE_FRIBIDI_CUSTOM_H+0
    +# include <fribidi-custom.h>
    +#endif /* HAVE_FRIBIDI_CUSTOM_H */
    +
    +/* FRIBIDI_NAMESPACE is a macro used to name library symbols. */
    +#ifndef FRIBIDI_NAMESPACE
    +# define FRIBIDI_NAMESPACE(SYMBOL) fribidi##_##SYMBOL
    +#endif /* !FRIBIDI_NAMESPACE */
    +
    +/* FRIBIDI_ENTRY is a macro used to declare library entry points. */
    +#ifndef FRIBIDI_ENTRY
    +# if (defined(WIN32)) || (defined(_WIN32_WCE))
    +# define FRIBIDI_ENTRY __declspec(dllimport)
    +# else /* !WIN32 */
    +# define FRIBIDI_ENTRY /* empty */
    +# endif /* !WIN32 */
    +#endif /* !FRIBIDI_ENTRY */
    +
    +#if FRIBIDI_USE_GLIB+0
    +# ifndef __FRIBIDI_DOC
    +# include <glib/gmacros.h>
    +# endif /* !__FRIBIDI_DOC */
    +# define FRIBIDI_BEGIN_DECLS G_BEGIN_DECLS
    +# define FRIBIDI_END_DECLS G_END_DECLS
    +# define FRIBIDI_GNUC_CONST G_GNUC_CONST
    +# define FRIBIDI_GNUC_DEPRECATED G_GNUC_DEPRECATED
    +# if __GNUC__ > 2
    +# define FRIBIDI_GNUC_WARN_UNUSED \
    + __attribute__((__warn_unused_result__))
    +# define FRIBIDI_GNUC_MALLOC \
    + __attribute__((__malloc__))
    +# define FRIBIDI_GNUC_HIDDEN \
    + __attribute__((__visibility__ ("hidden")))
    +# else /* __GNUC__ <= 2 */
    +# define FRIBIDI_GNUC_WARN_UNUSED
    +# define FRIBIDI_GNUC_MALLOC
    +# define FRIBIDI_GNUC_HIDDEN
    +# endif /* __GNUC__ <= 2 */
    +#else /* !FRIBIDI_USE_GLIB */
    +# define FRIBIDI_GNUC_CONST
    +# define FRIBIDI_GNUC_DEPRECATED
    +# define FRIBIDI_GNUC_WARN_UNUSED
    +# define FRIBIDI_GNUC_MALLOC
    +# define FRIBIDI_GNUC_HIDDEN
    +#endif /* !FRIBIDI_USE_GLIB */
    +
    +/* FRIBIDI_BEGIN_DECLS should be used at the beginning of your declarations,
    + * so that C++ compilers don't mangle their names. Use FRIBIDI_END_DECLS at
    + * the end of C declarations. */
    +#ifndef FRIBIDI_BEGIN_DECLS
    +# ifdef __cplusplus
    +# define FRIBIDI_BEGIN_DECLS extern "C" {
    +# define FRIBIDI_END_DECLS }
    +# else /* !__cplusplus */
    +# define FRIBIDI_BEGIN_DECLS /* empty */
    +# define FRIBIDI_END_DECLS /* empty */
    +# endif /* !__cplusplus */
    +#endif /* !FRIBIDI_BEGIN_DECLS */
    +
    +
    +
    +
    +#define fribidi_debug_status FRIBIDI_NAMESPACE(debug_status)
    +FRIBIDI_ENTRY int fribidi_debug_status (
    + void
    +);
    +#define fribidi_set_debug FRIBIDI_NAMESPACE(set_debug)
    +FRIBIDI_ENTRY int
    +fribidi_set_debug (
    + int state /* new state to set */
    +);
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +#endif /* !_FRIBIDI_COMMON_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-deprecated.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,243 @@
    +/* FriBidi
    + * fribidi-deprecated.h - Deprecated interfaces
    + *
    + * $Id: fribidi-deprecated.h,v 1.3 2006/01/31 03:23:13 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2006/01/31 03:23:13 $
    + * $Revision: 1.3 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-deprecated.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2004, 2005
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2004, 2005 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_DEPRECATED_H
    +#define _FRIBIDI_DEPRECATED_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-bidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +
    +
    +#define fribidi_mirroring_status FRIBIDI_NAMESPACE(mirroring_status)
    +/* fribidi_mirroring_status - get current mirroring status
    + *
    + * This function is deprecated and only used with other deprecated functions.
    + */
    + FRIBIDI_ENTRY fribidi_boolean fribidi_mirroring_status (
    + void
    +) FRIBIDI_GNUC_DEPRECATED;
    +
    +#define fribidi_set_mirroring FRIBIDI_NAMESPACE(set_mirroring)
    +/* fribidi_set_mirroring - set mirroring on or off
    + *
    + * This function is used to turn character mirroring on or off.
    + * Character mirroring is the act of replacing a mirrorable glyph
    + * (character), eg. left paranthesis, with the matching glyph,
    + * eg. right paranthesis, in a right-to-left resolved context.
    + * If your rendering engine does mirroring itself, you may want to
    + * turn it off here.
    + *
    + * This flag is on by default.
    + * This function is deprecated and only used with other deprecated functions.
    + *
    + * Returns: the new mirroring status.
    + */
    + FRIBIDI_ENTRY fribidi_boolean fribidi_set_mirroring (
    + fribidi_boolean state /* new state to set */
    +) FRIBIDI_GNUC_DEPRECATED;
    +
    +
    +#define fribidi_reorder_nsm_status FRIBIDI_NAMESPACE(reorder_nsm_status)
    +/* fribidi_reorder_nsm_status - get current marks reordering status
    + *
    + * This function is deprecated and only used with other deprecated functions.
    + */
    + FRIBIDI_ENTRY fribidi_boolean fribidi_reorder_nsm_status (
    + void
    +) FRIBIDI_GNUC_DEPRECATED;
    +
    +#define fribidi_set_reorder_nsm FRIBIDI_NAMESPACE(set_reorder_nsm)
    +/* fribidi_set_reorder_nsm - set marks reordering on or off
    + *
    + * This function is used to turn non-spacing marks reordering on or
    + * off. Reordering non-spacing marks is the act of placing non-spacing
    + * marks (bidi class NSM) after their base character in a right-to-left
    + * resolved context. If your rendering engine expects non-spacing marks
    + * always after the base character in the memory representation of the
    + * visual string, you need this option on. An example of where people
    + * may need it off is when rendering in the console when non-spacing
    + * marks cannot be applied on top of the base character.
    + *
    + * This flag is on by default.
    + * This function is deprecated and only used with other deprecated functions.
    + *
    + * Returns: the new marks reordering status.
    + */
    + FRIBIDI_ENTRY fribidi_boolean fribidi_set_reorder_nsm (
    + fribidi_boolean state /* new state to set */
    +) FRIBIDI_GNUC_DEPRECATED;
    +
    +
    +
    +
    +/* fribidi_log2vis_get_embedding_levels - get embedding levels
    + *
    + * Deprecated. Replaced by fribidi_get_par_embedding_levels.
    + */
    +#define fribidi_log2vis_get_embedding_levels FRIBIDI_NAMESPACE(log2vis_get_embedding_levels)
    +FRIBIDI_ENTRY FriBidiLevel
    +fribidi_log2vis_get_embedding_levels (
    + const FriBidiCharType *bidi_types, /* input list of bidi types as returned by
    + fribidi_get_bidi_types() */
    + const FriBidiStrIndex len, /* input string length of the paragraph */
    + FriBidiParType *pbase_dir, /* requested and resolved paragraph
    + * base direction */
    + FriBidiLevel *embedding_levels /* output list of embedding levels */
    +) FRIBIDI_GNUC_DEPRECATED;
    +
    +/* fribidi_get_type - get character bidi type
    + *
    + * Deprecated. Replaced by fribidi_get_bidi_type.
    + */
    +#define fribidi_get_type FRIBIDI_NAMESPACE(get_type)
    +FRIBIDI_ENTRY FriBidiCharType
    +fribidi_get_type (
    + FriBidiChar ch /* input character */
    +) FRIBIDI_GNUC_DEPRECATED;
    +
    +/* fribidi_get_type_internal - get character bidi type
    + *
    + * Deprecated. Replaced by fribidi_get_bidi_type.
    + */
    +#define fribidi_get_type_internal FRIBIDI_NAMESPACE(get_type_internal)
    +FRIBIDI_ENTRY FriBidiCharType
    +fribidi_get_type_internal (
    + FriBidiChar ch /* input character */
    +) FRIBIDI_GNUC_DEPRECATED;
    +
    +#define fribidi_remove_bidi_marks FRIBIDI_NAMESPACE(remove_bidi_marks)
    +/* fribidi_remove_bidi_marks - remove bidi marks out of an string
    + *
    + * This function removes the bidi and boundary-neutral marks out of an string
    + * and the accompanying lists. It implements rule X9 of the Unicode
    + * Bidirectional Algorithm available at
    + * http://www.unicode.org/reports/tr9/#X9, with the exception that it removes
    + * U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK too.
    + *
    + * If any of the input lists are NULL, the list is skipped. If str is the
    + * visual string, then positions_to_this is positions_L_to_V and
    + * position_from_this_list is positions_V_to_L; if str is the logical
    + * string, the other way. Moreover, the position maps should be filled with
    + * valid entries.
    + *
    + * A position map pointing to a removed character is filled with -1. By the
    + * way, you should not use embedding_levels if str is visual string.
    + *
    + * For best results this function should be run on a whole paragraph, not
    + * lines; but feel free to do otherwise if you know what you are doing.
    + * Deprecated. Use fribidi_remove_special_chars instead.
    + *
    + * Returns: New length of the string, or -1 if an error occured (memory
    + * allocation failure most probably).
    + */
    +FRIBIDI_ENTRY FriBidiStrIndex
    +fribidi_remove_bidi_marks (
    + FriBidiChar *str, /* input string to clean */
    + const FriBidiStrIndex len, /* input string length */
    + FriBidiStrIndex *positions_to_this, /* list mapping positions to the
    + order used in str */
    + FriBidiStrIndex *position_from_this_list, /* list mapping positions from the
    + order used in str */
    + FriBidiLevel *embedding_levels /* list of embedding levels */
    +)
    + FRIBIDI_GNUC_WARN_UNUSED FRIBIDI_GNUC_DEPRECATED;
    +
    +
    +#define fribidi_log2vis FRIBIDI_NAMESPACE(log2vis)
    +/* fribidi_log2vis - get visual string
    + *
    + * This function converts the logical input string to the visual output
    + * strings as specified by the Unicode Bidirectional Algorithm. As a side
    + * effect it also generates mapping lists between the two strings, and the
    + * list of embedding levels as defined by the algorithm.
    + *
    + * If NULL is passed as any of the the lists, the list is ignored and not
    + * filled.
    + *
    + * This function is obsolete because it only handles one-line paragraphs.
    + * Please consider using other functions instead. Deprecated.
    + *
    + * Returns: Maximum level found plus one, or zero if any error occured
    + * (memory allocation failure most probably).
    + */
    + FRIBIDI_ENTRY FriBidiLevel fribidi_log2vis (
    + const FriBidiChar *str, /* input logical string */
    + const FriBidiStrIndex len, /* input string length */
    + FriBidiParType *pbase_dir, /* requested and resolved paragraph
    + * base direction */
    + FriBidiChar *visual_str, /* output visual string */
    + FriBidiStrIndex *positions_L_to_V, /* output mapping from logical to
    + * visual string positions */
    + FriBidiStrIndex *positions_V_to_L, /* output mapping from visual string
    + * back to the logical string
    + * positions */
    + FriBidiLevel *embedding_levels /* output list of embedding levels */
    +)
    + FRIBIDI_GNUC_WARN_UNUSED FRIBIDI_GNUC_DEPRECATED;
    +
    +
    +#define UNI_MAX_BIDI_LEVEL FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL
    +#define UNI_LRM FRIBIDI_CHAR_LRM
    +#define UNI_RLM FRIBIDI_CHAR_RLM
    +#define UNI_LRE FRIBIDI_CHAR_LRE
    +#define UNI_RLE FRIBIDI_CHAR_RLE
    +#define UNI_LRO FRIBIDI_CHAR_LRO
    +#define UNI_RLO FRIBIDI_CHAR_RLO
    +#define UNI_LS FRIBIDI_CHAR_LS
    +#define UNI_PS FRIBIDI_CHAR_PS
    +#define UNI_ZWNJ FRIBIDI_CHAR_ZWNJ
    +#define UNI_ZWJ FRIBIDI_CHAR_ZWJ
    +#define UNI_HEBREW_ALEF FRIBIDI_CHAR_HEBREW_ALEF
    +#define UNI_ARABIC_ALEF FRIBIDI_CHAR_ARABIC_ALEF
    +#define UNI_ARABIC_ZERO FRIBIDI_CHAR_ARABIC_ZERO
    +#define UNI_FARSI_ZERO FRIBIDI_CHAR_PERSIAN_ZERO
    +
    +#define FRIBIDI_TYPE_WL FRIBIDI_PAR_WLTR
    +#define FRIBIDI_TYPE_WR FRIBIDI_PAR_WRTL
    +#define FRIBIDI_TYPE_L FRIBIDI_PAR_LTR
    +#define FRIBIDI_TYPE_R FRIBIDI_PAR_RTL
    +#define FRIBIDI_TYPE_N FRIBIDI_PAR_ON
    +#define FRIBIDI_TYPE_B FRIBIDI_TYPE_BS
    +#define FRIBIDI_TYPE_S FRIBIDI_TYPE_SS
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_DEPRECATED_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-enddecls.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,3 @@
    +#ifdef FRIBIDI_END_DECLS
    +FRIBIDI_END_DECLS
    +#endif /* FRIBIDI_END_DECLS */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-flags.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,78 @@
    +/* FriBidi
    + * fribidi-flags.h - option flags
    + *
    + * $Id: fribidi-flags.h,v 1.1 2005/11/03 01:39:01 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2005/11/03 01:39:01 $
    + * $Revision: 1.1 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-flags.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2005
    + *
    + * Copyright (C) 2005 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_FLAGS_H
    +#define _FRIBIDI_FLAGS_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +typedef fribidi_uint32 FriBidiFlags;
    +
    +/*
    + * Define option flags that various functions use. Each mask has
    + * only one bit set.
    + */
    +
    +#define FRIBIDI_FLAG_SHAPE_MIRRORING 0x00000001
    +#define FRIBIDI_FLAG_REORDER_NSM 0x00000002
    +
    +#define FRIBIDI_FLAG_SHAPE_ARAB_PRES 0x00000100
    +#define FRIBIDI_FLAG_SHAPE_ARAB_LIGA 0x00000200
    +#define FRIBIDI_FLAG_SHAPE_ARAB_CONSOLE 0x00000400
    +
    +#define FRIBIDI_FLAG_REMOVE_BIDI 0x00010000
    +#define FRIBIDI_FLAG_REMOVE_JOINING 0x00020000
    +#define FRIBIDI_FLAG_REMOVE_SPECIALS 0x00040000
    +
    +
    +/*
    + * And their combinations.
    + */
    +
    +#define FRIBIDI_FLAGS_DEFAULT ( \
    + FRIBIDI_FLAG_SHAPE_MIRRORING | \
    + FRIBIDI_FLAG_REORDER_NSM | \
    + FRIBIDI_FLAG_REMOVE_SPECIALS )
    +
    +#define FRIBIDI_FLAGS_ARABIC ( \
    + FRIBIDI_FLAG_SHAPE_ARAB_PRES | \
    + FRIBIDI_FLAG_SHAPE_ARAB_LIGA )
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_FLAGS_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-joining-types-list.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,50 @@
    +#ifndef __FRIBIDI_DOC
    +/* FriBidi
    + * fribidi-joining-types-list.h - list of joining types
    + *
    + * $Id: fribidi-joining-types-list.h,v 1.2 2004/06/15 11:52:02 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/15 11:52:02 $
    + * $Revision: 1.2 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-joining-types-list.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + * Copyright (C) 2004 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +/* *INDENT-OFF* */
    +#endif /* !__FRIBIDI_DOC */
    +#ifndef _FRIBIDI_ADD_TYPE
    +# define _FRIBIDI_ADD_TYPE(x,y)
    +#endif
    +
    +_FRIBIDI_ADD_TYPE (U, '|') /* nUn-joining, e.g. Full Stop */
    +_FRIBIDI_ADD_TYPE (R, '<') /* Right-joining, e.g. Arabic Letter Dal */
    +_FRIBIDI_ADD_TYPE (D, '+') /* Dual-joining, e.g. Arabic Letter Ain */
    +_FRIBIDI_ADD_TYPE (C, '-') /* join-Causing, e.g. Tatweel, ZWJ */
    +_FRIBIDI_ADD_TYPE (T, '^') /* Transparent, e.g. Arabic Fatha */
    +_FRIBIDI_ADD_TYPE (L, '>') /* Left-joining, i.e. fictional */
    +_FRIBIDI_ADD_TYPE (G, '~') /* iGnored, e.g. LRE, RLE, ZWNBSP */
    +
    +#ifndef __FRIBIDI_DOC
    +/* *INDENT-ON* */
    +#endif /* !__FRIBIDI_DOC */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-joining-types.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,258 @@
    +/* FriBidi
    + * fribidi-joining-types.h - character joining types
    + *
    + * $Id: fribidi-joining-types.h,v 1.5 2005/11/03 01:39:01 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2005/11/03 01:39:01 $
    + * $Revision: 1.5 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-joining-types.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_JOINING_TYPES_H
    +#define _FRIBIDI_JOINING_TYPES_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +/*
    + * Define bit masks that joining types are based on, each mask has
    + * only one bit set.
    + */
    +
    +#define FRIBIDI_MASK_JOINS_RIGHT 0x01 /* May join to right */
    +#define FRIBIDI_MASK_JOINS_LEFT 0x02 /* May join to right */
    +#define FRIBIDI_MASK_ARAB_SHAPES 0x04 /* May Arabic shape */
    +#define FRIBIDI_MASK_TRANSPARENT 0x08 /* Is transparent */
    +#define FRIBIDI_MASK_IGNORED 0x10 /* Is ignored */
    +#define FRIBIDI_MASK_LIGATURED 0x20 /* Is ligatured */
    +
    +/*
    + * Define values for FriBidiJoiningType
    + */
    +
    +/* nUn-joining */
    +#define FRIBIDI_JOINING_TYPE_U_VAL ( 0 )
    +
    +/* Right-joining */
    +#define FRIBIDI_JOINING_TYPE_R_VAL \
    + ( FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_ARAB_SHAPES )
    +
    +/* Dual-joining */
    +#define FRIBIDI_JOINING_TYPE_D_VAL \
    + ( FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT \
    + | FRIBIDI_MASK_ARAB_SHAPES )
    +
    +/* join-Causing */
    +#define FRIBIDI_JOINING_TYPE_C_VAL \
    + ( FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT )
    +
    +/* Left-joining */
    +#define FRIBIDI_JOINING_TYPE_L_VAL \
    + ( FRIBIDI_MASK_JOINS_LEFT | FRIBIDI_MASK_ARAB_SHAPES )
    +
    +/* Transparent */
    +#define FRIBIDI_JOINING_TYPE_T_VAL \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_ARAB_SHAPES )
    +
    +/* iGnored */
    +#define FRIBIDI_JOINING_TYPE_G_VAL ( FRIBIDI_MASK_IGNORED )
    +
    +
    +enum _FriBidiJoiningTypeEnum
    +{
    +# define _FRIBIDI_ADD_TYPE(TYPE,SYMBOL) \
    + FRIBIDI_JOINING_TYPE_##TYPE = FRIBIDI_JOINING_TYPE_##TYPE##_VAL,
    +# include "fribidi-joining-types-list.h"
    +# undef _FRIBIDI_ADD_TYPE
    + _FRIBIDI_JOINING_TYPE_JUNK /* Don't use this */
    +};
    +
    +#ifdef __FRIBIDI_DOC
    +typedef enum _FriBidiJoiningTypeEnum FriBidiJoiningType;
    +#else /* !__FRIBIDI_DOC */
    +typedef fribidi_uint8 FriBidiJoiningType;
    +#endif /* !__FRIBIDI_DOC */
    +
    +/* FriBidiArabicProp is essentially the same type as FriBidiJoiningType, but
    + * not limited to the few values returned by fribidi_get_joining_type. */
    +typedef fribidi_uint8 FriBidiArabicProp;
    +
    +/*
    + * The equivalent of JoiningType values for ArabicProp
    + */
    +
    +/* Primary Arabic Joining Classes (Table 8-2) */
    +
    +/* nUn-joining */
    +#define FRIBIDI_IS_JOINING_TYPE_U(p) \
    + ( 0 == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED \
    + | FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT ) ) )
    +
    +/* Right-joining */
    +#define FRIBIDI_IS_JOINING_TYPE_R(p) \
    + ( FRIBIDI_MASK_JOINS_RIGHT == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED \
    + | FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT ) ) )
    +
    +/* Dual-joining */
    +#define FRIBIDI_IS_JOINING_TYPE_D(p) \
    + ( ( FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT \
    + | FRIBIDI_MASK_ARAB_SHAPES ) == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED \
    + | FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT \
    + | FRIBIDI_MASK_ARAB_SHAPES ) ) )
    +
    +/* join-Causing */
    +#define FRIBIDI_IS_JOINING_TYPE_C(p) \
    + ( ( FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT ) == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED \
    + | FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT \
    + | FRIBIDI_MASK_ARAB_SHAPES ) ) )
    +
    +/* Left-joining */
    +#define FRIBIDI_IS_JOINING_TYPE_L(p) \
    + ( FRIBIDI_MASK_JOINS_LEFT == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED \
    + | FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT ) ) )
    +
    +/* Transparent */
    +#define FRIBIDI_IS_JOINING_TYPE_T(p) \
    + ( FRIBIDI_MASK_TRANSPARENT == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED ) ) )
    +
    +/* iGnored */
    +#define FRIBIDI_IS_JOINING_TYPE_G(p) \
    + ( FRIBIDI_MASK_IGNORED == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED ) ) )
    +
    +/* and for Derived Arabic Joining Classes (Table 8-3) */
    +
    +/* Right join-Causing */
    +#define FRIBIDI_IS_JOINING_TYPE_RC(p) \
    + ( FRIBIDI_MASK_JOINS_RIGHT == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED \
    + | FRIBIDI_MASK_JOINS_RIGHT ) ) )
    +
    +/* Left join-Causing */
    +#define FRIBIDI_IS_JOINING_TYPE_LC(p) \
    + ( FRIBIDI_MASK_JOINS_LEFT == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED \
    + | FRIBIDI_MASK_JOINS_LEFT ) ) )
    +
    +
    +/*
    + * Defining macros for needed queries, It is fully dependent on the
    + * implementation of FriBidiJoiningType.
    + */
    +
    +/* Joins to right: R, D, C? */
    +#define FRIBIDI_JOINS_RIGHT(p) ((p) & FRIBIDI_MASK_JOINS_RIGHT)
    +
    +/* Joins to left: L, D, C? */
    +#define FRIBIDI_JOINS_LEFT(p) ((p) & FRIBIDI_MASK_JOINS_LEFT)
    +
    +/* May shape: R, D, L, T? */
    +#define FRIBIDI_ARAB_SHAPES(p) ((p) & FRIBIDI_MASK_ARAB_SHAPES)
    +
    +/* Is skipped in joining: T, G? */
    +#define FRIBIDI_IS_JOIN_SKIPPED(p) \
    + ((p) & (FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED))
    +
    +/* Is base that will be shaped: R, D, L? */
    +#define FRIBIDI_IS_JOIN_BASE_SHAPES(p) \
    + ( FRIBIDI_MASK_ARAB_SHAPES == ( (p) & \
    + ( FRIBIDI_MASK_TRANSPARENT | FRIBIDI_MASK_IGNORED \
    + | FRIBIDI_MASK_ARAB_SHAPES ) ) )
    +
    +#define FRIBIDI_JOINS_PRECEDING_MASK(level) \
    + (FRIBIDI_LEVEL_IS_RTL (level) ? FRIBIDI_MASK_JOINS_RIGHT \
    + : FRIBIDI_MASK_JOINS_LEFT)
    +
    +#define FRIBIDI_JOINS_FOLLOWING_MASK(level) \
    + (FRIBIDI_LEVEL_IS_RTL (level) ? FRIBIDI_MASK_JOINS_LEFT \
    + : FRIBIDI_MASK_JOINS_RIGHT)
    +
    +#define FRIBIDI_JOIN_SHAPE(p) \
    + ((p) & ( FRIBIDI_MASK_JOINS_RIGHT | FRIBIDI_MASK_JOINS_LEFT ))
    +
    +/* Functions finally */
    +
    +
    +#define fribidi_get_joining_type FRIBIDI_NAMESPACE(get_joining_type)
    +/* fribidi_get_joining_type - get character joining type
    + *
    + * This function returns the joining type of a character as defined in Table
    + * 8-2 Primary Arabic Joining Classes of the Unicode standard available at
    + * http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462, using data
    + * provided in file ArabicShaping.txt and UnicodeData.txt of the Unicode
    + * Character Database available at
    + * http://www.unicode.org/Public/UNIDATA/ArabicShaping.txt and
    + * http://www.unicode.org/Public/UNIDATA/UnicodeData.txt.
    + *
    + * There are a few macros defined in fribidi-joining-types.h for querying a
    + * joining type.
    + */
    +FRIBIDI_ENTRY FriBidiJoiningType
    +fribidi_get_joining_type (
    + FriBidiChar ch /* input character */
    +) FRIBIDI_GNUC_CONST;
    +
    +#define fribidi_get_joining_types FRIBIDI_NAMESPACE(get_joining_types)
    +/* fribidi_get_joining_types - get joining types for an string of characters
    + *
    + * This function finds the joining types of an string of characters. See
    + * fribidi_get_joining_type for more information about the joining types
    + * returned by this function.
    + */
    + FRIBIDI_ENTRY void fribidi_get_joining_types (
    + const FriBidiChar *str, /* input string */
    + const FriBidiStrIndex len, /* input string length */
    + FriBidiJoiningType *jtypes /* output joining types */
    +);
    +
    +#define fribidi_get_joining_type_name FRIBIDI_NAMESPACE(get_joining_type_name)
    +/* fribidi_get_joining_type_name - get joining type name
    + *
    + * This function returns the joining type name of a joining type. The
    + * returned string is a static string and should not be freed.
    + *
    + * The type names are the same as ones defined in Table 8-2 Primary Arabic
    + * Joining Classes of the Unicode standard available at
    + * http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462.
    + */
    + FRIBIDI_ENTRY const char *fribidi_get_joining_type_name (
    + FriBidiJoiningType j /* input joining type */
    +) FRIBIDI_GNUC_CONST;
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_JOINING_TYPES_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-joining.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,81 @@
    +/* FriBidi
    + * fribidi-joining.h - Arabic joining algorithm
    + *
    + * $Id: fribidi-joining.h,v 1.3 2004/06/21 21:15:31 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/06/21 21:15:31 $
    + * $Revision: 1.3 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-joining.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2004 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_JOINING_H
    +#define _FRIBIDI_JOINING_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +#include "fribidi-bidi-types.h"
    +#include "fribidi-joining-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +#define fribidi_join_arabic FRIBIDI_NAMESPACE(join_arabic)
    +/* fribidi_join_arabic - do Arabic joining
    + *
    + * This function does the Arabic joining algorithm. Means, given Arabic
    + * joining types of the characters in ar_props (don't worry,
    + * FriBidiJoiningType can be casted to FriBidiArabicProp automagically), this
    + * function modifies this properties to grasp the effect of neighboring
    + * characters. You probably need this information later to do Arabic shaping.
    + *
    + * This function implements rules R1 to R7 inclusive (all rules) of the Arabic
    + * Cursive Joining algorithm of the Unicode standard as available at
    + * http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462. It also
    + * interacts correctly with the bidirection algorithm as defined in Section
    + * 3.5 Shaping of the Unicode Bidirectional Algorithm available at
    + * http://www.unicode.org/reports/tr9/#Shaping.
    + *
    + * There are a few macros defined in fribidi-joining-types.h for querying the
    + * Arabic properties computed by this function.
    + */
    +FRIBIDI_ENTRY void fribidi_join_arabic (
    + const FriBidiCharType *bidi_types, /* input list of bidi types as
    + returned by
    + fribidi_get_bidi_types() */
    + const FriBidiStrIndex len, /* input string length */
    + const FriBidiLevel *embedding_levels, /* input list of embedding
    + levels, as returned by
    + fribidi_get_par_embedding_levels */
    + FriBidiArabicProp *ar_props /* Arabic properties to analyze, initilized by
    + joining types, as returned by
    + fribidi_get_joining_types */
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_JOINING_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-mirroring.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,94 @@
    +/* fribidi-mirroring.h - get mirrored character
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001, 2002, 2004 Behdad Esfahbod
    + * Copyright (C) 1999, 2000 Dov Grobgeld
    + *
    + * This file is part of GNU FriBidi.
    + *
    + * GNU FriBidi is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public License
    + * as published by the Free Software Foundation; either version 2.1
    + * of the License, or (at your option) any later version.
    + *
    + * GNU FriBidi is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    + * GNU Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with GNU FriBidi; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
    + *
    + * For licensing issues, contact <license@farsiweb.info> or write to
    + * Sharif FarsiWeb, Inc., PO Box 13445-389, Tehran, Iran.
    + */
    +/* $Id: fribidi-mirroring.h,v 1.10 2004/09/28 07:58:57 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2004/09/28 07:58:57 $
    + * $Revision: 1.10 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-mirroring.h,v $
    + *
    + * Author(s):
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + */
    +#ifndef _FRIBIDI_MIRRORING_H
    +#define _FRIBIDI_MIRRORING_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +#include "fribidi-bidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +#define fribidi_get_mirror_char FRIBIDI_NAMESPACE(get_mirror_char)
    +/* fribidi_get_mirror_char - get mirrored character
    + *
    + * This function finds the mirrored equivalent of a character as defined in
    + * the file BidiMirroring.txt of the Unicode Character Database available at
    + * http://www.unicode.org/Public/UNIDATA/BidiMirroring.txt.
    + *
    + * If the input character is a declared as a mirroring character in the
    + * Unicode standard and has a mirrored equivalent. The matching mirrored
    + * character is put in the output, otherwise the input character itself is
    + * put.
    + *
    + * Returns: if the character has a mirroring equivalent or not.
    + */
    +FRIBIDI_ENTRY fribidi_boolean fribidi_get_mirror_char (
    + FriBidiChar ch, /* input character */
    + FriBidiChar *mirrored_ch /* output mirrored character */
    +);
    +
    +#define fribidi_shape_mirroring FRIBIDI_NAMESPACE(shape_mirroring)
    +/* fribidi_shape_mirroring - do mirroring shaping
    + *
    + * This functions replaces mirroring characters on right-to-left embeddings in
    + * string with their mirrored equivalent as returned by
    + * fribidi_get_mirror_char().
    + *
    + * This function implements rule L4 of the Unicode Bidirectional Algorithm
    + * available at http://www.unicode.org/reports/tr9/#L4.
    + */
    +FRIBIDI_ENTRY void fribidi_shape_mirroring (
    + const FriBidiLevel *embedding_levels, /* input list of embedding
    + levels, as returned by
    + fribidi_get_par_embedding_levels */
    + const FriBidiStrIndex len, /* input string length */
    + FriBidiChar *str /* string to shape */
    +);
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_MIRRORING_H */
    +/* Editor directions:
    + * Local Variables:
    + * mode: c
    + * c-basic-offset: 2
    + * indent-tabs-mode: t
    + * tab-width: 8
    + * End:
    + * vim: textwidth=78: autoindent: cindent: shiftwidth=2: tabstop=8:
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-shape.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,78 @@
    +/* FriBidi
    + * fribidi-shape.h - shaping
    + *
    + * $Id: fribidi-shape.h,v 1.2 2006/01/14 12:09:29 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2006/01/14 12:09:29 $
    + * $Revision: 1.2 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-shape.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2004, 2005
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2004, 2005 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_SHAPE_H
    +#define _FRIBIDI_SHAPE_H
    +
    +#include "fribidi-types.h"
    +#include "fribidi-flags.h"
    +#include "fribidi-bidi-types.h"
    +#include "fribidi-joining-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +
    +#define fribidi_shape FRIBIDI_NAMESPACE(shape)
    +/* fribidi_shape - do bidi-aware shaping
    + *
    + * This function does all shaping work that depends on the resolved embedding
    + * levels of the characters. Currently it does mirroring and Arabic shaping,
    + * but the list may grow in the future. This function is a wrapper around
    + * fribidi_shape_mirroring and fribidi_shape_arabic.
    + *
    + * The flags parameter specifies which shapings are applied. The only flags
    + * affecting the functionality of this function are those beginning with
    + * FRIBIDI_FLAG_SHAPE_. Of these, only FRIBIDI_FLAG_SHAPE_MIRRORING is on
    + * in FRIBIDI_FLAGS_DEFAULT. For details of the Arabic-specific flags see
    + * fribidi_shape_arabic. If ar_props is NULL, no Arabic shaping is performed.
    + *
    + * Feel free to do your own shaping before or after calling this function,
    + * but you should take care of embedding levels yourself then.
    + */
    +FRIBIDI_ENTRY void fribidi_shape (
    + FriBidiFlags flags, /* shaping flags */
    + const FriBidiLevel *embedding_levels, /* input list of embedding
    + levels, as returned by
    + fribidi_get_par_embedding_levels */
    + const FriBidiStrIndex len, /* input string length */
    + FriBidiArabicProp *ar_props, /* input/output Arabic properties as
    + * computed by fribidi_join_arabic */
    + FriBidiChar *str /* string to shape */
    +);
    +
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_SHAPE_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-types.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,163 @@
    +/* FriBidi
    + * fribidi-types.h - define data types for the rest of the library
    + *
    + * $Id: fribidi-types.h,v 1.12 2006/01/31 03:23:13 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2006/01/31 03:23:13 $
    + * $Revision: 1.12 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-types.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_TYPES_H
    +#define _FRIBIDI_TYPES_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +
    +#if FRIBIDI_USE_GLIB+0
    +# ifndef __FRIBIDI_DOC
    +# include <glib/gtypes.h>
    +# include <glib/gunicode.h>
    +# endif /* !__FRIBIDI_DOC */
    +# define FRIBIDI_INT8_LOCAL gint8
    +# define FRIBIDI_INT16_LOCAL gint16
    +# define FRIBIDI_INT32_LOCAL gint32
    +# define FRIBIDI_UINT8_LOCAL guint8
    +# define FRIBIDI_UINT16_LOCAL guint16
    +# define FRIBIDI_UINT32_LOCAL guint32
    +# define FRIBIDI_BOOLEAN_LOCAL gboolean
    +# define FRIBIDI_UNICHAR_LOCAL gunichar
    +#else /* !FRIBIDI_USE_GLIB */
    +# if defined(HAVE_INTTYPES_H) || defined(HAVE_STDINT_H)
    +# ifndef __FRIBIDI_DOC
    +# if HAVE_INTTYPES_H
    +# include <inttypes.h>
    +# elif HAVE_STDINT_H
    +# include <stdint.h>
    +# endif /* !HAVE_STDINT_H */
    +# endif /* !__FRIBIDI_DOC */
    +# define FRIBIDI_INT8_LOCAL int8_t
    +# define FRIBIDI_INT16_LOCAL int16_t
    +# define FRIBIDI_INT32_LOCAL int32_t
    +# define FRIBIDI_UINT8_LOCAL uint8_t
    +# define FRIBIDI_UINT16_LOCAL uint16_t
    +# define FRIBIDI_UINT32_LOCAL uint32_t
    +# else /* no int types */
    +# define FRIBIDI_INT8_LOCAL signed char
    +# define FRIBIDI_UINT8_LOCAL unsigned char
    +# if !defined(FRIBIDI_SIZEOF_INT) || FRIBIDI_SIZEOF_INT >= 4
    +# define FRIBIDI_INT16_LOCAL signed short
    +# define FRIBIDI_UINT16_LOCAL unsigned short
    +# define FRIBIDI_INT32_LOCAL signed int
    +# define FRIBIDI_UINT32_LOCAL unsigned int
    +# else /* SIZEOF_INT < 4 */
    +# define FRIBIDI_INT16_LOCAL signed int
    +# define FRIBIDI_UINT16_LOCAL unsigned int
    +# define FRIBIDI_INT32_LOCAL signed long
    +# define FRIBIDI_UINT32_LOCAL unsigned long
    +# endif /* SIZEOF_INT < 4 */
    +# endif /* no int types */
    +# define FRIBIDI_BOOLEAN_LOCAL int
    +# if SIZEOF_WCHAR_T >= 4
    +# ifndef __FRIBIDI_DOC
    +# if STDC_HEADERS
    +# include <stdlib.h>
    +# include <stddef.h>
    +# else /* !STDC_HEADERS */
    +# if HAVE_STDLIB_H
    +# include <stdlib.h>
    +# endif /* !HAVE_STDLIB_H */
    +# endif /* !STDC_HEADERS */
    +# endif /* !__FRIBIDI_DOC */
    +# define FRIBIDI_UNICHAR_LOCAL wchar_t
    +# else /* SIZEOF_WCHAR_T < 4 */
    +# define FRIBIDI_UNICHAR_LOCAL fribidi_uint32
    +# endif /* SIZEOF_WCHAR_T < 4 */
    +#endif /* !FRIBIDI_USE_GLIB */
    +
    +#if FRIBIDI_INT_TYPES+0
    +#else
    +# define FRIBIDI_INT8 FRIBIDI_INT8_LOCAL
    +# define FRIBIDI_INT16 FRIBIDI_INT16_LOCAL
    +# define FRIBIDI_INT32 FRIBIDI_INT32_LOCAL
    +# define FRIBIDI_UINT8 FRIBIDI_UINT8_LOCAL
    +# define FRIBIDI_UINT16 FRIBIDI_UINT16_LOCAL
    +# define FRIBIDI_UINT32 FRIBIDI_UINT32_LOCAL
    +#endif /* !FRIBIDI_INT_TYPES */
    +#ifndef FRIBIDI_BOOLEAN
    +# define FRIBIDI_BOOLEAN FRIBIDI_BOOLEAN_LOCAL
    +#endif /* !FRIBIDI_BOOLEAN */
    +#ifndef FRIBIDI_UNICHAR
    +# define FRIBIDI_UNICHAR FRIBIDI_UNICHAR_LOCAL
    +#endif /* !FRIBIDI_UNICHAR */
    +#ifndef FRIBIDI_STR_INDEX
    +# define FRIBIDI_STR_INDEX int
    +#endif /* FRIBIDI_STR_INDEX */
    +
    +
    +typedef FRIBIDI_UINT8 fribidi_int8;
    +typedef FRIBIDI_INT16 fribidi_int16;
    +typedef FRIBIDI_INT32 fribidi_int32;
    +typedef FRIBIDI_UINT8 fribidi_uint8;
    +typedef FRIBIDI_UINT16 fribidi_uint16;
    +typedef FRIBIDI_UINT32 fribidi_uint32;
    +typedef FRIBIDI_BOOLEAN fribidi_boolean;
    +
    +typedef FRIBIDI_UNICHAR FriBidiChar;
    +typedef FRIBIDI_STR_INDEX FriBidiStrIndex;
    +
    +
    +#ifndef FRIBIDI_MAX_STRING_LENGTH
    +# define FRIBIDI_MAX_STRING_LENGTH (sizeof (FriBidiStrIndex) == 2 ? \
    + 0x7FFF : (sizeof (FriBidiStrIndex) == 1 ? \
    + 0x7F : 0x7FFFFFFFL))
    +#endif
    +
    +/* A few macros for working with bits */
    +
    +#define FRIBIDI_TEST_BITS(x, mask) (((x) & (mask)) ? 1 : 0)
    +
    +#define FRIBIDI_INCLUDE_BITS(x, mask) ((x) | (mask))
    +
    +#define FRIBIDI_EXCLUDE_BITS(x, mask) ((x) & ~(mask))
    +
    +#define FRIBIDI_SET_BITS(x, mask) ((x) |= (mask))
    +
    +#define FRIBIDI_UNSET_BITS(x, mask) ((x) &= ~(mask))
    +
    +#define FRIBIDI_ADJUST_BITS(x, mask, cond) \
    + ((x) = ((x) & ~(mask)) | ((cond) ? (mask) : 0))
    +
    +#define FRIBIDI_ADJUST_AND_TEST_BITS(x, mask, cond) \
    + FRIBIDI_TEST_BITS(FRIBIDI_ADJUST_BITS((x), (mask), (cond)), (mask))
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_TYPES_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-unicode-version.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,14 @@
    +/* fribidi-unicode-version.h
    + * generated by gen-unicode-version (GNU FriBidi 0.19.1)
    + * from the file BidiMirroring.txt */
    +
    +#define FRIBIDI_UNICODE_VERSION "5.1.0"
    +#define FRIBIDI_UNICODE_MAJOR_VERSION 5
    +#define FRIBIDI_UNICODE_MINOR_VERSION 1
    +#define FRIBIDI_UNICODE_MICRO_VERSION 0
    +#define FRIBIDI_UNICODE_NAMESPACE(SYMBOL) \
    + FRIBIDI_NAMESPACE(SYMBOL##_unicode_5_1_0)
    +#define FRIBIDI_UNICODE_PRIVATESPACE(SYMBOL) \
    + FRIBIDI_PRIVATESPACE(SYMBOL##_unicode_5_1_0)
    +
    +/* End of generated fribidi-unicode-version.h */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi-unicode.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,105 @@
    +/* FriBidi
    + * fribidi-unicode.h - general Unicode definitions
    + *
    + * $Id: fribidi-unicode.h,v 1.7 2006/01/31 03:23:13 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2006/01/31 03:23:13 $
    + * $Revision: 1.7 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi-unicode.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_UNICODE_H
    +#define _FRIBIDI_UNICODE_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-types.h"
    +
    +#include "fribidi-begindecls.h"
    +
    +/* We do not support surrogates yet */
    +#define FRIBIDI_UNICODE_CHARS (sizeof(FriBidiChar) >= 4 ? 0x110000 : 0xFFFE)
    +
    +/* Unicode version - FRIBIDI_UNICODE_VERSION */
    +#if DONT_HAVE_FRIBIDI_UNICODE_VERSION_H+0
    +# define FRIBIDI_UNICODE_VERSION "unknown"
    +#else /* !DONT_HAVE_FRIBIDI_UNICODE_VERSION_H */
    +# include "fribidi-unicode-version.h"
    +#endif /* !DONT_HAVE_FRIBIDI_UNICODE_VERSION_H */
    +
    +#define fribidi_unicode_version FRIBIDI_NAMESPACE(unicode_version)
    +/* An string containing the version the Unicode standard implemented,
    + * in the form of "x.y.z", or "unknown". */
    +extern const char *fribidi_unicode_version;
    +
    +
    +/* Unicode Bidirectional Algorithm definitions: */
    +
    +/* Number of types defined in the bidi algorithm */
    +#define FRIBIDI_BIDI_NUM_TYPES 19
    +
    +/* The maximum embedding level value assigned by explicit marks */
    +#define FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL 61
    +/* The maximum *number* of different resolved embedding levels: 0-62 */
    +#define FRIBIDI_BIDI_MAX_RESOLVED_LEVELS 63
    +
    +
    +/* A few Unicode characters: */
    +
    +/* Bidirectional marks */
    +#define FRIBIDI_CHAR_LRM 0x200E
    +#define FRIBIDI_CHAR_RLM 0x200F
    +#define FRIBIDI_CHAR_LRE 0x202A
    +#define FRIBIDI_CHAR_RLE 0x202B
    +#define FRIBIDI_CHAR_PDF 0x202C
    +#define FRIBIDI_CHAR_LRO 0x202D
    +#define FRIBIDI_CHAR_RLO 0x202E
    +
    +/* Line and Paragraph Separators */
    +#define FRIBIDI_CHAR_LS 0x2028
    +#define FRIBIDI_CHAR_PS 0x2029
    +
    +/* Arabic Joining marks */
    +#define FRIBIDI_CHAR_ZWNJ 0x200C
    +#define FRIBIDI_CHAR_ZWJ 0x200D
    +
    +/* Hebrew and Arabic */
    +#define FRIBIDI_CHAR_HEBREW_ALEF 0x05D0
    +#define FRIBIDI_CHAR_ARABIC_ALEF 0x0627
    +#define FRIBIDI_CHAR_ARABIC_ZERO 0x0660
    +#define FRIBIDI_CHAR_PERSIAN_ZERO 0x06F0
    +
    +/* Misc */
    +#define FRIBIDI_CHAR_ZWNBSP 0xFEFF
    +
    +/* Char we place for a deleted slot, to delete later */
    +#define FRIBIDI_CHAR_FILL FRIBIDI_CHAR_ZWNBSP
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_UNICODE_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/fribidi.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,73 @@
    +/* FriBidi
    + * fribidi.h - Unicode bidirectional and Arabic joining/shaping algorithms
    + *
    + * $Id: fribidi.h,v 1.10 2006/01/31 03:23:13 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2006/01/31 03:23:13 $
    + * $Revision: 1.10 $
    + * $Source: /cvs/fribidi/fribidi2/lib/fribidi.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _FRIBIDI_H
    +#define _FRIBIDI_H
    +
    +#include "fribidi-common.h"
    +
    +#include "fribidi-unicode.h"
    +#include "fribidi-types.h"
    +#include "fribidi-flags.h"
    +#include "fribidi-bidi-types.h"
    +#include "fribidi-bidi.h"
    +#include "fribidi-joining-types.h"
    +#include "fribidi-joining.h"
    +#include "fribidi-mirroring.h"
    +#include "fribidi-arabic.h"
    +#include "fribidi-shape.h"
    +
    +
    +#if FRIBIDI_CHARSETS+0
    +# include "fribidi-char-sets.h"
    +#endif /* FRIBIDI_CHARSETS */
    +
    +
    +#if FRIBIDI_NO_DEPRECATED+0
    +#else
    +# include "fribidi-deprecated.h"
    +#endif /* !FRIBIDI_NO_DEPRECATED */
    +
    +
    +#include "fribidi-begindecls.h"
    +
    +
    +
    +#define fribidi_version_info FRIBIDI_NAMESPACE(version_info)
    +/* An string containing the version information of the library. */
    + extern const char *fribidi_version_info;
    +
    +#include "fribidi-enddecls.h"
    +
    +#endif /* !_FRIBIDI_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/getopt.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,187 @@
    +/* Declarations for getopt.
    + Copyright (C) 1989-1994,1996-1999,2001,2003,2004
    + Free Software Foundation, Inc.
    + This file is part of the GNU C Library.
    +
    + This program is free software; you can redistribute it and/or modify
    + it under the terms of the GNU General Public License as published by
    + the Free Software Foundation; either version 2, or (at your option)
    + any later version.
    +
    + This program is distributed in the hope that it will be useful,
    + but WITHOUT ANY WARRANTY; without even the implied warranty of
    + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    + GNU General Public License for more details.
    +
    + You should have received a copy of the GNU General Public License along
    + with this program; if not, write to the Free Software Foundation,
    + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
    +
    +#ifndef _GETOPT_H
    +
    +#ifndef __need_getopt
    +# define _GETOPT_H 1
    +#endif
    +
    +/* If __GNU_LIBRARY__ is not already defined, either we are being used
    + standalone, or this is the first header included in the source file.
    + If we are being used with glibc, we need to include <features.h>, but
    + that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
    + not defined, include <ctype.h>, which will pull in <features.h> for us
    + if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
    + doesn't flood the namespace with stuff the way some other headers do.) */
    +#if !defined __GNU_LIBRARY__
    +# include <ctype.h>
    +#endif
    +
    +#ifndef __THROW
    +# ifndef __GNUC_PREREQ
    +# define __GNUC_PREREQ(maj, min) (0)
    +# endif
    +# if defined __cplusplus && __GNUC_PREREQ (2,8)
    +# define __THROW throw ()
    +# else
    +# define __THROW
    +# endif
    +#endif
    +
    +#ifdef __cplusplus
    +extern "C"
    +{
    +#endif
    +
    +/* For communication from `getopt' to the caller.
    + When `getopt' finds an option that takes an argument,
    + the argument value is returned here.
    + Also, when `ordering' is RETURN_IN_ORDER,
    + each non-option ARGV-element is returned here. */
    +
    + extern char *optarg;
    +
    +/* Index in ARGV of the next element to be scanned.
    + This is used for communication to and from the caller
    + and for communication between successive calls to `getopt'.
    +
    + On entry to `getopt', zero means this is the first call; initialize.
    +
    + When `getopt' returns -1, this is the index of the first of the
    + non-option elements that the caller should itself scan.
    +
    + Otherwise, `optind' communicates from one call to the next
    + how much of ARGV has been scanned so far. */
    +
    + extern int optind;
    +
    +/* Callers store zero here to inhibit the error message `getopt' prints
    + for unrecognized options. */
    +
    + extern int opterr;
    +
    +/* Set to an option character which was unrecognized. */
    +
    + extern int optopt;
    +
    +#ifndef __need_getopt
    +/* Describe the long-named options requested by the application.
    + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
    + of `struct option' terminated by an element containing a name which is
    + zero.
    +
    + The field `has_arg' is:
    + no_argument (or 0) if the option does not take an argument,
    + required_argument (or 1) if the option requires an argument,
    + optional_argument (or 2) if the option takes an optional argument.
    +
    + If the field `flag' is not NULL, it points to a variable that is set
    + to the value given in the field `val' when the option is found, but
    + left unchanged if the option is not found.
    +
    + To have a long-named option do something other than set an `int' to
    + a compiled-in constant, such as set a value from `optarg', set the
    + option's `flag' field to zero and its `val' field to a nonzero
    + value (the equivalent single-letter option character, if there is
    + one). For long options that have a zero `flag' field, `getopt'
    + returns the contents of the `val' field. */
    +
    + struct option
    + {
    + const char *name;
    + /* has_arg can't be an enum because some compilers complain about
    + type mismatches in all the code that assumes it is an int. */
    + int has_arg;
    + int *flag;
    + int val;
    + };
    +
    +/* Names for the values of the `has_arg' field of `struct option'. */
    +
    +# define no_argument 0
    +# define required_argument 1
    +# define optional_argument 2
    +#endif /* need getopt */
    +
    +
    +/* Get definitions and prototypes for functions to process the
    + arguments in ARGV (ARGC of them, minus the program name) for
    + options given in OPTS.
    +
    + Return the option character from OPTS just read. Return -1 when
    + there are no more options. For unrecognized options, or options
    + missing arguments, `optopt' is set to the option letter, and '?' is
    + returned.
    +
    + The OPTS string is a list of characters which are recognized option
    + letters, optionally followed by colons, specifying that that letter
    + takes an argument, to be placed in `optarg'.
    +
    + If a letter in OPTS is followed by two colons, its argument is
    + optional. This behavior is specific to the GNU `getopt'.
    +
    + The argument `--' causes premature termination of argument
    + scanning, explicitly telling `getopt' that there are no more
    + options.
    +
    + If OPTS begins with `--', then non-option arguments are treated as
    + arguments to the option '\0'. This behavior is specific to the GNU
    + `getopt'. */
    +
    +#ifdef __GNU_LIBRARY__
    +/* Many other libraries have conflicting prototypes for getopt, with
    + differences in the consts, in stdlib.h. To avoid compilation
    + errors, only prototype getopt for the GNU C library. */
    + extern int getopt (
    + int ___argc,
    + char *const *___argv,
    + const char *__shortopts
    + ) __THROW;
    +#else /* not __GNU_LIBRARY__ */
    + extern int getopt (
    + );
    +#endif /* __GNU_LIBRARY__ */
    +
    +#ifndef __need_getopt
    + extern int getopt_long (
    + int ___argc,
    + char *const *___argv,
    + const char *__shortopts,
    + const struct option *__longopts,
    + int *__longind
    + ) __THROW;
    + extern int getopt_long_only (
    + int ___argc,
    + char *const *___argv,
    + const char *__shortopts,
    + const struct option *__longopts,
    + int *__longind
    + ) __THROW;
    +
    +#endif
    +
    +#ifdef __cplusplus
    +}
    +#endif
    +
    +/* Make sure we later can get all the definitions and declarations. */
    +#undef __need_getopt
    +
    +#endif /* getopt.h */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/getopt_int.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,145 @@
    +/* Internal declarations for getopt.
    + Copyright (C) 1989-1994,1996-1999,2001,2003,2004
    + Free Software Foundation, Inc.
    + This file is part of the GNU C Library.
    +
    + This program is free software; you can redistribute it and/or modify
    + it under the terms of the GNU General Public License as published by
    + the Free Software Foundation; either version 2, or (at your option)
    + any later version.
    +
    + This program is distributed in the hope that it will be useful,
    + but WITHOUT ANY WARRANTY; without even the implied warranty of
    + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    + GNU General Public License for more details.
    +
    + You should have received a copy of the GNU General Public License along
    + with this program; if not, write to the Free Software Foundation,
    + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
    +
    +#ifndef _GETOPT_INT_H
    +#define _GETOPT_INT_H 1
    +
    +extern int _getopt_internal (
    + int ___argc,
    + char *const *___argv,
    + const char *__shortopts,
    + const struct option *__longopts,
    + int *__longind,
    + int __long_only
    +);
    +
    +
    +/* Reentrant versions which can handle parsing multiple argument
    + vectors at the same time. */
    +
    +/* Data type for reentrant functions. */
    +struct _getopt_data
    +{
    + /* These have exactly the same meaning as the corresponding global
    + variables, except that they are used for the reentrant
    + versions of getopt. */
    + int optind;
    + int opterr;
    + int optopt;
    + char *optarg;
    +
    + /* Internal members. */
    +
    + /* True if the internal members have been initialized. */
    + int __initialized;
    +
    + /* The next char to be scanned in the option-element
    + in which the last option character we returned was found.
    + This allows us to pick up the scan where we left off.
    +
    + If this is zero, or a null string, it means resume the scan
    + by advancing to the next ARGV-element. */
    + char *__nextchar;
    +
    + /* Describe how to deal with options that follow non-option ARGV-elements.
    +
    + If the caller did not specify anything,
    + the default is REQUIRE_ORDER if the environment variable
    + POSIXLY_CORRECT is defined, PERMUTE otherwise.
    +
    + REQUIRE_ORDER means don't recognize them as options;
    + stop option processing when the first non-option is seen.
    + This is what Unix does.
    + This mode of operation is selected by either setting the environment
    + variable POSIXLY_CORRECT, or using `+' as the first character
    + of the list of option characters.
    +
    + PERMUTE is the default. We permute the contents of ARGV as we
    + scan, so that eventually all the non-options are at the end.
    + This allows options to be given in any order, even with programs
    + that were not written to expect this.
    +
    + RETURN_IN_ORDER is an option available to programs that were
    + written to expect options and other ARGV-elements in any order
    + and that care about the ordering of the two. We describe each
    + non-option ARGV-element as if it were the argument of an option
    + with character code 1. Using `-' as the first character of the
    + list of option characters selects this mode of operation.
    +
    + The special argument `--' forces an end of option-scanning regardless
    + of the value of `ordering'. In the case of RETURN_IN_ORDER, only
    + `--' can cause `getopt' to return -1 with `optind' != ARGC. */
    +
    + enum
    + {
    + REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
    + } __ordering;
    +
    + /* If the POSIXLY_CORRECT environment variable is set. */
    + int __posixly_correct;
    +
    +
    + /* Handle permutation of arguments. */
    +
    + /* Describe the part of ARGV that contains non-options that have
    + been skipped. `first_nonopt' is the index in ARGV of the first
    + of them; `last_nonopt' is the index after the last of them. */
    +
    + int __first_nonopt;
    + int __last_nonopt;
    +
    +#if defined _LIBC && defined USE_NONOPTION_FLAGS
    + int __nonoption_flags_max_len;
    + int __nonoption_flags_len;
    +# endif
    +};
    +
    +/* The initializer is necessary to set OPTIND and OPTERR to their
    + default values and to clear the initialization flag. */
    +#define _GETOPT_DATA_INITIALIZER { 1, 1 }
    +
    +extern int _getopt_internal_r (
    + int ___argc,
    + char *const *___argv,
    + const char *__shortopts,
    + const struct option *__longopts,
    + int *__longind,
    + int __long_only,
    + struct _getopt_data *__data
    +);
    +
    +extern int _getopt_long_r (
    + int ___argc,
    + char *const *___argv,
    + const char *__shortopts,
    + const struct option *__longopts,
    + int *__longind,
    + struct _getopt_data *__data
    +);
    +
    +extern int _getopt_long_only_r (
    + int ___argc,
    + char *const *___argv,
    + const char *__shortopts,
    + const struct option *__longopts,
    + int *__longind,
    + struct _getopt_data *__data
    +);
    +
    +#endif /* getopt_int.h */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/gettext.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,2 @@
    +#undef gettext
    +#define gettext
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/joining-types.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,59 @@
    +/* FriBidi
    + * joining-types.h - define internal joining types
    + *
    + * $Id: joining-types.h,v 1.4 2006/01/31 03:23:13 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2006/01/31 03:23:13 $
    + * $Revision: 1.4 $
    + * $Source: /cvs/fribidi/fribidi2/lib/joining-types.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc.
    + * Copyright (C) 2004 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _JOINING_TYPES_H
    +#define _JOINING_TYPES_H
    +
    +#include "common.h"
    +
    +#include <fribidi-types.h>
    +#include <fribidi-joining-types.h>
    +
    +#include <fribidi-begindecls.h>
    +
    +#if DEBUG+0
    +
    +#define fribidi_char_from_joining_type FRIBIDI_PRIVATESPACE(char_from_joining_type)
    +char
    +fribidi_char_from_joining_type (
    + FriBidiJoiningType j, /* input joining type */
    + fribidi_boolean visual /* in visual context or logical? */
    +) FRIBIDI_GNUC_HIDDEN;
    +
    +#endif /* DEBUG */
    +
    +#include <fribidi-enddecls.h>
    +
    +#endif /* !_JOINING_TYPES_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/mem.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,97 @@
    +/* FriBidi
    + * mem.h - memory manipulation routines
    + *
    + * $Id: mem.h,v 1.7 2006/01/31 03:23:13 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2006/01/31 03:23:13 $
    + * $Revision: 1.7 $
    + * $Source: /cvs/fribidi/fribidi2/lib/mem.h,v $
    + *
    + * Author:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _MEM_H
    +#define _MEM_H
    +
    +#include "common.h"
    +
    +#include <fribidi-types.h>
    +
    +#include <fribidi-begindecls.h>
    +
    +#if FRIBIDI_USE_GLIB+0
    +
    +#ifndef __FRIBIDI_DOC
    +# include <glib/gmem.h>
    +#endif /* !__FRIBIDI_DOC */
    +
    +#define FriBidiMemChunk GMemChunk
    +#define FRIBIDI_ALLOC_ONLY G_ALLOC_ONLY
    +#define fribidi_mem_chunk_new g_mem_chunk_new
    +#define fribidi_mem_chunk_alloc g_mem_chunk_alloc
    +#define fribidi_mem_chunk_destroy g_mem_chunk_destroy
    +
    +#else /* !FRIBIDI_USE_GLIB */
    +
    +typedef struct _FriBidiMemChunk FriBidiMemChunk;
    +
    +#define FRIBIDI_ALLOC_ONLY 1
    +
    +#define fribidi_mem_chunk_new FRIBIDI_PRIVATESPACE(mem_chunk_new)
    +FriBidiMemChunk *
    +fribidi_mem_chunk_new (
    + const char *name,
    + int atom_size,
    + unsigned long area_size,
    + int alloc_type
    +)
    + FRIBIDI_GNUC_HIDDEN FRIBIDI_GNUC_MALLOC FRIBIDI_GNUC_WARN_UNUSED;
    +
    +#define fribidi_mem_chunk_alloc FRIBIDI_PRIVATESPACE(mem_chunk_alloc)
    + void *fribidi_mem_chunk_alloc (
    + FriBidiMemChunk *mem_chunk
    +)
    + FRIBIDI_GNUC_HIDDEN FRIBIDI_GNUC_MALLOC FRIBIDI_GNUC_WARN_UNUSED;
    +
    +#define fribidi_mem_chunk_destroy FRIBIDI_PRIVATESPACE(mem_chunk_destroy)
    + void fribidi_mem_chunk_destroy (
    + FriBidiMemChunk *mem_chunk
    +) FRIBIDI_GNUC_HIDDEN;
    +
    +#endif /* !FRIBIDI_USE_GLIB */
    +
    +#define fribidi_chunk_new(type, chunk) ( \
    + (type *) fribidi_mem_chunk_alloc (chunk) \
    + )
    +
    +#define fribidi_chunk_new_for_type(type) ( \
    + fribidi_mem_chunk_new(FRIBIDI, sizeof (type), \
    + FRIBIDI_CHUNK_SIZE, FRIBIDI_ALLOC_ONLY) \
    + )
    +
    +#include <fribidi-enddecls.h>
    +
    +#endif /* !_MEM_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/packtab.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,50 @@
    +/* PackTab - Pack a static table
    + * Copyright (C) 2001 Behdad Esfahbod.
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <fwpg@sharif.edu>.
    + */
    +
    +#ifndef PACKTAB_H
    +#define PACKTAB_H
    +
    +#ifdef __cplusplus
    +extern "C"
    +{
    +#endif
    +
    +#define packtab_version 3
    +
    + int pack_table (
    + const signed int *base,
    + long key_num,
    + int key_size,
    + signed int default_key,
    + int max_depth,
    + int tab_width,
    + const char *const *name,
    + const char *key_type_name,
    + const char *table_name,
    + const char *macro_name,
    + FILE *out
    + );
    +
    +#ifdef __cplusplus
    +}
    +#endif
    +
    +#endif /* PACKTAB_H */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Headers/run.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,157 @@
    +/* FriBidi
    + * run.h - text run data type
    + *
    + * $Id: run.h,v 1.9 2006/01/31 03:23:13 behdad Exp $
    + * $Author: behdad $
    + * $Date: 2006/01/31 03:23:13 $
    + * $Revision: 1.9 $
    + * $Source: /cvs/fribidi/fribidi2/lib/run.h,v $
    + *
    + * Authors:
    + * Behdad Esfahbod, 2001, 2002, 2004
    + * Dov Grobgeld, 1999, 2000
    + *
    + * Copyright (C) 2004 Sharif FarsiWeb, Inc
    + * Copyright (C) 2001,2002 Behdad Esfahbod
    + * Copyright (C) 1999,2000 Dov Grobgeld
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public License
    + * along with this library, in a file named COPYING; if not, write to the
    + * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    + * Boston, MA 02111-1307, USA
    + *
    + * For licensing issues, contact <license@farsiweb.info>.
    + */
    +#ifndef _RUN_H
    +#define _RUN_H
    +
    +#include "common.h"
    +
    +#include <fribidi-common.h>
    +
    +#include <fribidi-types.h>
    +#include <fribidi-bidi-types.h>
    +
    +#include <fribidi-begindecls.h>
    +
    +typedef struct _FriBidiRunStruct FriBidiRun;
    +
    +struct _FriBidiRunStruct
    +{
    + FriBidiRun *prev;
    + FriBidiRun *next;
    +
    + FriBidiCharType type;
    + FriBidiStrIndex pos, len;
    + FriBidiLevel level;
    +};
    +
    +
    +#define new_run FRIBIDI_PRIVATESPACE(new_run)
    +FriBidiRun *
    +new_run (
    + void
    +)
    + FRIBIDI_GNUC_HIDDEN FRIBIDI_GNUC_MALLOC FRIBIDI_GNUC_WARN_UNUSED;
    +
    +#define free_run FRIBIDI_PRIVATESPACE(free_run)
    + void free_run (
    + FriBidiRun *run
    +) FRIBIDI_GNUC_HIDDEN;
    +
    +#define new_run_list FRIBIDI_PRIVATESPACE(new_run_list)
    + FriBidiRun *new_run_list (
    + void
    +)
    + FRIBIDI_GNUC_HIDDEN FRIBIDI_GNUC_MALLOC FRIBIDI_GNUC_WARN_UNUSED;
    +
    +#define free_run_list FRIBIDI_PRIVATESPACE(free_run_list)
    + void free_run_list (
    + FriBidiRun *run_list
    +) FRIBIDI_GNUC_HIDDEN;
    +
    +#define run_list_encode_bidi_types FRIBIDI_PRIVATESPACE(run_list_encode_bidi_types)
    + FriBidiRun *run_list_encode_bidi_types (
    + const FriBidiCharType *bidi_types,
    + const FriBidiStrIndex len
    +)
    + FRIBIDI_GNUC_HIDDEN FRIBIDI_GNUC_WARN_UNUSED;
    +
    +#define shadow_run_list FRIBIDI_PRIVATESPACE(shadow_run_list)
    + fribidi_boolean shadow_run_list (
    + FriBidiRun *base,
    + FriBidiRun *over,
    + fribidi_boolean preserve_length
    +)
    + FRIBIDI_GNUC_HIDDEN FRIBIDI_GNUC_WARN_UNUSED;
    +
    +
    +#define swap(a,b) \
    + FRIBIDI_BEGIN_STMT \
    + void *t; \
    + (t) = (a); \
    + (a) = (b); \
    + (b) = (t); \
    + FRIBIDI_END_STMT
    +
    +#define merge_lists(a,b) \
    + FRIBIDI_BEGIN_STMT \
    + swap((a)->prev->next, (b)->prev->next); \
    + swap((a)->prev, (b)->prev); \
    + FRIBIDI_END_STMT
    +
    +#define delete_node(x) \
    + FRIBIDI_BEGIN_STMT \
    + (x)->prev->next = (x)->next; \
    + (x)->next->prev = (x)->prev; \
    + FRIBIDI_END_STMT
    +
    +#define insert_node_before(x, list) \
    + FRIBIDI_BEGIN_STMT \
    + (x)->prev = (list)->prev; \
    + (list)->prev->next = (x); \
    + (x)->next = (list); \
    + (list)->prev = (x); \
    + FRIBIDI_END_STMT
    +
    +#define move_node_before(x, list) \
    + FRIBIDI_BEGIN_STMT \
    + if ((x)->prev) { \
    + delete_node(x); \
    + } \
    + insert_node_before((x), (list)); \
    + FRIBIDI_END_STMT
    +
    +#define for_run_list(x, list) \
    + for ((x) = (list)->next; (x)->type != FRIBIDI_TYPE_SENTINEL; (x) = (x)->next)
    +
    +
    +#if DEBUG+0
    +
    +#define fribidi_validate_run_list FRIBIDI_PRIVATESPACE(validate_run_list)
    + void fribidi_validate_run_list (
    + FriBidiRun *run_list /* input run list */
    +) FRIBIDI_GNUC_HIDDEN;
    +
    +#else /* !DEBUG */
    +
    +#define fribidi_validate_run_list(run_list) fribidi_assert(run_list)
    +
    +#endif /* !DEBUG */
    +
    +#include <fribidi-enddecls.h>
    +
    +#endif /* !_RUN_H */
    +/* Editor directions:
    + * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
    + */
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Resources/Debug.xcconfig Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,5 @@
    +#include "FriBidi.xcconfig"
    +
    +COPY_PHASE_STRIP = NO
    +GCC_OPTIMIZATION_LEVEL = 0
    +GCC_DYNAMIC_NO_PIC = NO
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Resources/FriBidi.xcconfig Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,18 @@
    +SYMROOT = ../../build
    +APPLY_RULES_IN_COPY_FILES = YES
    +INFOPLIST_OUTPUT_FORMAT = binary
    +PLIST_FILE_OUTPUT_FORMAT = binary
    +SDKROOT = macosx10.6
    +GCC_VERSION = com.apple.compilers.llvm.clang.1_0
    +GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H
    +VALID_ARCHS = i386 x86_64
    +ARCHS = x86_64 i386
    +LD_DYLIB_INSTALL_NAME = @rpath/FriBidi.framework/Versions/A/FriBidi
    +PRODUCT_NAME = FriBidi
    +WRAPPER_EXTENSION = framework
    +GCC_PREFIX_HEADER = FriBidi_Prefix.pch
    +INFOPLIST_FILE = Info.plist
    +DYLIB_CURRENT_VERSION = 1
    +DYLIB_COMPATIBILITY_VERSION = 1
    +FRAMEWORK_VERSION = A
    +GCC_PRECOMPILE_PREFIX_HEADER = YES
    Binary file Frameworks/FriBidi.framework/Versions/A/Resources/Info.plist has changed
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Resources/Release-Debug.xcconfig Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,2 @@
    +#include "Release.xcconfig"
    +
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/A/Resources/Release.xcconfig Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,3 @@
    +#include "FriBidi.xcconfig"
    +
    +GCC_GENERATE_DEBUGGING_SYMBOLS = NO
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/FriBidi.framework/Versions/Current Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,1 @@
    +A
    \ No newline at end of file
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Headers Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,1 @@
    +Versions/Current/Headers
    \ No newline at end of file
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Resources Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,1 @@
    +Versions/Current/Resources
    \ No newline at end of file
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/ShortcutRecorder Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,1 @@
    +Versions/Current/ShortcutRecorder
    \ No newline at end of file
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRCommon.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,185 @@
    +//
    +// SRCommon.h
    +// ShortcutRecorder
    +//
    +// Copyright 2006-2007 Contributors. All rights reserved.
    +//
    +// License: BSD
    +//
    +// Contributors:
    +// David Dauer
    +// Jesper
    +// Jamie Kirkpatrick
    +
    +#import <Cocoa/Cocoa.h>
    +#import <Carbon/Carbon.h>
    +#import <CoreServices/CoreServices.h>
    +
    +#pragma mark Dummy class
    +
    +@interface SRDummyClass : NSObject {} @end
    +
    +#pragma mark -
    +#pragma mark Typedefs
    +
    +typedef struct _KeyCombo {
    + NSUInteger flags; // 0 for no flags
    + NSInteger code; // -1 for no code
    +} KeyCombo;
    +
    +#pragma mark -
    +#pragma mark Enums
    +
    +// Unicode values of some keyboard glyphs
    +enum {
    + KeyboardTabRightGlyph = 0x21E5,
    + KeyboardTabLeftGlyph = 0x21E4,
    + KeyboardCommandGlyph = kCommandUnicode,
    + KeyboardOptionGlyph = kOptionUnicode,
    + KeyboardShiftGlyph = kShiftUnicode,
    + KeyboardControlGlyph = kControlUnicode,
    + KeyboardReturnGlyph = 0x2305,
    + KeyboardReturnR2LGlyph = 0x21A9,
    + KeyboardDeleteLeftGlyph = 0x232B,
    + KeyboardDeleteRightGlyph = 0x2326,
    + KeyboardPadClearGlyph = 0x2327,
    + KeyboardLeftArrowGlyph = 0x2190,
    + KeyboardRightArrowGlyph = 0x2192,
    + KeyboardUpArrowGlyph = 0x2191,
    + KeyboardDownArrowGlyph = 0x2193,
    + KeyboardPageDownGlyph = 0x21DF,
    + KeyboardPageUpGlyph = 0x21DE,
    + KeyboardNorthwestArrowGlyph = 0x2196,
    + KeyboardSoutheastArrowGlyph = 0x2198,
    + KeyboardEscapeGlyph = 0x238B,
    + KeyboardHelpGlyph = 0x003F,
    + KeyboardUpArrowheadGlyph = 0x2303,
    +};
    +
    +// Special keys
    +enum {
    + kSRKeysF1 = 122,
    + kSRKeysF2 = 120,
    + kSRKeysF3 = 99,
    + kSRKeysF4 = 118,
    + kSRKeysF5 = 96,
    + kSRKeysF6 = 97,
    + kSRKeysF7 = 98,
    + kSRKeysF8 = 100,
    + kSRKeysF9 = 101,
    + kSRKeysF10 = 109,
    + kSRKeysF11 = 103,
    + kSRKeysF12 = 111,
    + kSRKeysF13 = 105,
    + kSRKeysF14 = 107,
    + kSRKeysF15 = 113,
    + kSRKeysF16 = 106,
    + kSRKeysF17 = 64,
    + kSRKeysF18 = 79,
    + kSRKeysF19 = 80,
    + kSRKeysSpace = 49,
    + kSRKeysDeleteLeft = 51,
    + kSRKeysDeleteRight = 117,
    + kSRKeysPadClear = 71,
    + kSRKeysLeftArrow = 123,
    + kSRKeysRightArrow = 124,
    + kSRKeysUpArrow = 126,
    + kSRKeysDownArrow = 125,
    + kSRKeysSoutheastArrow = 119,
    + kSRKeysNorthwestArrow = 115,
    + kSRKeysEscape = 53,
    + kSRKeysPageDown = 121,
    + kSRKeysPageUp = 116,
    + kSRKeysReturnR2L = 36,
    + kSRKeysReturn = 76,
    + kSRKeysTabRight = 48,
    + kSRKeysHelp = 114
    +};
    +
    +#pragma mark -
    +#pragma mark Macros
    +
    +// Localization macros, for use in any bundle
    +#define SRLoc(key) SRLocalizedString(key, nil)
    +#define SRLocalizedString(key, comment) NSLocalizedStringFromTableInBundle(key, @"ShortcutRecorder", [NSBundle bundleForClass: [SRDummyClass class]], comment)
    +
    +// Image macros, for use in any bundle
    +//#define SRImage(name) [[[NSImage alloc] initWithContentsOfFile: [[NSBundle bundleForClass: [self class]] pathForImageResource: name]] autorelease]
    +#define SRResIndImage(name) [SRSharedImageProvider supportingImageWithName:name]
    +#define SRImage(name) SRResIndImage(name)
    +
    +//#define SRCommonWriteDebugImagery
    +
    +// Macros for glyps
    +#define SRInt(x) [NSNumber numberWithInteger:x]
    +#define SRChar(x) [NSString stringWithFormat: @"%C", x]
    +
    +// Some default values
    +#define ShortcutRecorderEmptyFlags 0
    +#define ShortcutRecorderAllFlags ShortcutRecorderEmptyFlags | (NSCommandKeyMask | NSAlternateKeyMask | NSControlKeyMask | NSShiftKeyMask | NSFunctionKeyMask)
    +#define ShortcutRecorderEmptyCode -1
    +
    +// These keys will cancel the recoding mode if not pressed with any modifier
    +#define ShortcutRecorderEscapeKey 53
    +#define ShortcutRecorderBackspaceKey 51
    +#define ShortcutRecorderDeleteKey 117
    +
    +#pragma mark -
    +#pragma mark Getting a string of the key combination
    +
    +//
    +// ################### +- Returns string from keyCode like NSEvent's -characters
    +// # EXPLANATORY # | +- Returns string from keyCode like NSEvent's -charactersUsingModifiers
    +// # CHART # | | +- Returns fully readable and localized name of modifier (if modifier given)
    +// ################### | | | +- Returns glyph of modifier (if modifier given)
    +// SRString... X - - X
    +// SRReadableString... X - X -
    +// SRCharacter... - X - -
    +//
    +NSString * SRStringForKeyCode( NSInteger keyCode );
    +NSString * SRStringForCarbonModifierFlags( NSUInteger flags );
    +NSString * SRStringForCarbonModifierFlagsAndKeyCode( NSUInteger flags, NSInteger keyCode );
    +NSString * SRStringForCocoaModifierFlags( NSUInteger flags );
    +NSString * SRStringForCocoaModifierFlagsAndKeyCode( NSUInteger flags, NSInteger keyCode );
    +NSString * SRReadableStringForCarbonModifierFlagsAndKeyCode( NSUInteger flags, NSInteger keyCode );
    +NSString * SRReadableStringForCocoaModifierFlagsAndKeyCode( NSUInteger flags, NSInteger keyCode );
    +NSString *SRCharacterForKeyCodeAndCarbonFlags(NSInteger keyCode, NSUInteger carbonFlags);
    +NSString *SRCharacterForKeyCodeAndCocoaFlags(NSInteger keyCode, NSUInteger cocoaFlags);
    +
    +#pragma mark Converting between Cocoa and Carbon modifier flags
    +
    +NSUInteger SRCarbonToCocoaFlags( NSUInteger carbonFlags );
    +NSUInteger SRCocoaToCarbonFlags( NSUInteger cocoaFlags );
    +
    +#pragma mark -
    +#pragma mark Animation pace function
    +
    +CGFloat SRAnimationEaseInOut(CGFloat t);
    +
    +#pragma mark -
    +#pragma mark Inlines
    +
    +FOUNDATION_STATIC_INLINE KeyCombo SRMakeKeyCombo(NSInteger code, NSUInteger flags) {
    + KeyCombo kc;
    + kc.code = code;
    + kc.flags = flags;
    + return kc;
    +}
    +
    +FOUNDATION_STATIC_INLINE BOOL SRIsSpecialKey(NSInteger keyCode) {
    + return (keyCode == kSRKeysF1 || keyCode == kSRKeysF2 || keyCode == kSRKeysF3 || keyCode == kSRKeysF4 || keyCode == kSRKeysF5 || keyCode == kSRKeysF6 || keyCode == kSRKeysF7 || keyCode == kSRKeysF8 || keyCode == kSRKeysF9 || keyCode == kSRKeysF10 || keyCode == kSRKeysF11 || keyCode == kSRKeysF12 || keyCode == kSRKeysF13 || keyCode == kSRKeysF14 || keyCode == kSRKeysF15 || keyCode == kSRKeysF16 || keyCode == kSRKeysSpace || keyCode == kSRKeysDeleteLeft || keyCode == kSRKeysDeleteRight || keyCode == kSRKeysPadClear || keyCode == kSRKeysLeftArrow || keyCode == kSRKeysRightArrow || keyCode == kSRKeysUpArrow || keyCode == kSRKeysDownArrow || keyCode == kSRKeysSoutheastArrow || keyCode == kSRKeysNorthwestArrow || keyCode == kSRKeysEscape || keyCode == kSRKeysPageDown || keyCode == kSRKeysPageUp || keyCode == kSRKeysReturnR2L || keyCode == kSRKeysReturn || keyCode == kSRKeysTabRight || keyCode == kSRKeysHelp);
    +}
    +
    +#pragma mark -
    +#pragma mark Additions
    +
    +@interface NSAlert( SRAdditions )
    ++ (NSAlert *) alertWithNonRecoverableError:(NSError *)error;
    +@end
    +
    +#pragma mark -
    +#pragma mark Image provider
    +
    +@interface SRSharedImageProvider : NSObject
    ++ (NSImage *)supportingImageWithName:(NSString *)name;
    +@end
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRKeyCodeTransformer.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,16 @@
    +//
    +// SRKeyCodeTransformer.h
    +// ShortcutRecorder
    +//
    +// Copyright 2006-2007 Contributors. All rights reserved.
    +//
    +// License: BSD
    +//
    +// Contributors:
    +// David Dauer
    +// Jesper
    +// Jamie Kirkpatrick
    +
    +#import <Cocoa/Cocoa.h>
    +
    +@interface SRKeyCodeTransformer : NSValueTransformer {} @end
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRRecorderCell.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,139 @@
    +//
    +// SRRecorderCell.h
    +// ShortcutRecorder
    +//
    +// Copyright 2006-2007 Contributors. All rights reserved.
    +//
    +// License: BSD
    +//
    +// Contributors:
    +// David Dauer
    +// Jesper
    +// Jamie Kirkpatrick
    +
    +#import <Cocoa/Cocoa.h>
    +#import "SRCommon.h"
    +
    +#define SRMinWidth 50
    +#define SRMaxHeight 22
    +
    +#define SRTransitionFPS 30.0f
    +#define SRTransitionDuration 0.35f
    +//#define SRTransitionDuration 2.35
    +#define SRTransitionFrames (SRTransitionFPS*SRTransitionDuration)
    +#define SRAnimationAxisIsY YES
    +#define ShortcutRecorderNewStyleDrawing
    +
    +#define SRAnimationOffsetRect(X,Y) (SRAnimationAxisIsY ? NSOffsetRect(X,0.0f,-NSHeight(Y)) : NSOffsetRect(X,NSWidth(Y),0.0f))
    +
    +@class SRRecorderControl, SRValidator;
    +
    +enum SRRecorderStyle {
    + SRGradientBorderStyle = 0,
    + SRGreyStyle = 1
    +};
    +typedef enum SRRecorderStyle SRRecorderStyle;
    +
    +@interface SRRecorderCell : NSActionCell <NSCoding>
    +{
    + NSGradient *recordingGradient;
    + NSString *autosaveName;
    +
    + BOOL isRecording;
    + BOOL mouseInsideTrackingArea;
    + BOOL mouseDown;
    +
    + SRRecorderStyle style;
    +
    + BOOL isAnimating;
    + CGFloat transitionProgress;
    + BOOL isAnimatingNow;
    + BOOL isAnimatingTowardsRecording;
    + BOOL comboJustChanged;
    +
    + NSTrackingRectTag removeTrackingRectTag;
    + NSTrackingRectTag snapbackTrackingRectTag;
    +
    + KeyCombo keyCombo;
    + BOOL hasKeyChars;
    + NSString *keyChars;
    + NSString *keyCharsIgnoringModifiers;
    +
    + NSUInteger allowedFlags;
    + NSUInteger requiredFlags;
    + NSUInteger recordingFlags;
    +
    + BOOL allowsKeyOnly;
    + BOOL escapeKeysRecord;
    +
    + NSSet *cancelCharacterSet;
    +
    + SRValidator *validator;
    +
    + IBOutlet id delegate;
    + BOOL globalHotKeys;
    + void *hotKeyModeToken;
    +}
    +
    +- (void)resetTrackingRects;
    +
    +#pragma mark *** Aesthetics ***
    +
    ++ (BOOL)styleSupportsAnimation:(SRRecorderStyle)style;
    +
    +- (BOOL)animates;
    +- (void)setAnimates:(BOOL)an;
    +- (SRRecorderStyle)style;
    +- (void)setStyle:(SRRecorderStyle)nStyle;
    +
    +#pragma mark *** Delegate ***
    +
    +- (id)delegate;
    +- (void)setDelegate:(id)aDelegate;
    +
    +#pragma mark *** Responder Control ***
    +
    +- (BOOL)becomeFirstResponder;
    +- (BOOL)resignFirstResponder;
    +
    +#pragma mark *** Key Combination Control ***
    +
    +- (BOOL)performKeyEquivalent:(NSEvent *)theEvent;
    +- (void)flagsChanged:(NSEvent *)theEvent;
    +
    +- (NSUInteger)allowedFlags;
    +- (void)setAllowedFlags:(NSUInteger)flags;
    +
    +- (NSUInteger)requiredFlags;
    +- (void)setRequiredFlags:(NSUInteger)flags;
    +
    +- (BOOL)allowsKeyOnly;
    +- (void)setAllowsKeyOnly:(BOOL)nAllowsKeyOnly;
    +- (void)setAllowsKeyOnly:(BOOL)nAllowsKeyOnly escapeKeysRecord:(BOOL)nEscapeKeysRecord;
    +- (BOOL)escapeKeysRecord;
    +- (void)setEscapeKeysRecord:(BOOL)nEscapeKeysRecord;
    +
    +- (BOOL)canCaptureGlobalHotKeys;
    +- (void)setCanCaptureGlobalHotKeys:(BOOL)inState;
    +
    +- (KeyCombo)keyCombo;
    +- (void)setKeyCombo:(KeyCombo)aKeyCombo;
    +
    +#pragma mark *** Autosave Control ***
    +
    +- (NSString *)autosaveName;
    +- (void)setAutosaveName:(NSString *)aName;
    +
    +// Returns the displayed key combination if set
    +- (NSString *)keyComboString;
    +
    +- (NSString *)keyChars;
    +- (NSString *)keyCharsIgnoringModifiers;
    +
    +@end
    +
    +// Delegate Methods
    +@interface NSObject (SRRecorderCellDelegate)
    +- (BOOL)shortcutRecorderCell:(SRRecorderCell *)aRecorderCell isKeyCode:(NSInteger)keyCode andFlagsTaken:(NSUInteger)flags reason:(NSString **)aReason;
    +- (void)shortcutRecorderCell:(SRRecorderCell *)aRecorderCell keyComboDidChange:(KeyCombo)newCombo;
    +@end
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRRecorderControl.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,79 @@
    +//
    +// SRRecorderControl.h
    +// ShortcutRecorder
    +//
    +// Copyright 2006-2007 Contributors. All rights reserved.
    +//
    +// License: BSD
    +//
    +// Contributors:
    +// David Dauer
    +// Jesper
    +// Jamie Kirkpatrick
    +
    +#import <Cocoa/Cocoa.h>
    +#import "SRRecorderCell.h"
    +
    +@interface SRRecorderControl : NSControl
    +{
    + IBOutlet id delegate;
    +}
    +
    +#pragma mark *** Aesthetics ***
    +- (BOOL)animates;
    +- (void)setAnimates:(BOOL)an;
    +- (SRRecorderStyle)style;
    +- (void)setStyle:(SRRecorderStyle)nStyle;
    +
    +#pragma mark *** Delegate ***
    +- (id)delegate;
    +- (void)setDelegate:(id)aDelegate;
    +
    +#pragma mark *** Key Combination Control ***
    +
    +- (NSUInteger)allowedFlags;
    +- (void)setAllowedFlags:(NSUInteger)flags;
    +
    +- (BOOL)allowsKeyOnly;
    +- (void)setAllowsKeyOnly:(BOOL)nAllowsKeyOnly escapeKeysRecord:(BOOL)nEscapeKeysRecord;
    +- (BOOL)escapeKeysRecord;
    +
    +- (BOOL)canCaptureGlobalHotKeys;
    +- (void)setCanCaptureGlobalHotKeys:(BOOL)inState;
    +
    +- (NSUInteger)requiredFlags;
    +- (void)setRequiredFlags:(NSUInteger)flags;
    +
    +- (KeyCombo)keyCombo;
    +- (void)setKeyCombo:(KeyCombo)aKeyCombo;
    +
    +- (NSString *)keyChars;
    +- (NSString *)keyCharsIgnoringModifiers;
    +
    +#pragma mark *** Autosave Control ***
    +
    +- (NSString *)autosaveName;
    +- (void)setAutosaveName:(NSString *)aName;
    +
    +#pragma mark -
    +
    +// Returns the displayed key combination if set
    +- (NSString *)keyComboString;
    +
    +#pragma mark *** Conversion Methods ***
    +
    +- (NSUInteger)cocoaToCarbonFlags:(NSUInteger)cocoaFlags;
    +- (NSUInteger)carbonToCocoaFlags:(NSUInteger)carbonFlags;
    +
    +#pragma mark *** Binding Methods ***
    +
    +- (NSDictionary *)objectValue;
    +- (void)setObjectValue:(NSDictionary *)shortcut;
    +
    +@end
    +
    +// Delegate Methods
    +@interface NSObject (SRRecorderDelegate)
    +- (BOOL)shortcutRecorder:(SRRecorderControl *)aRecorder isKeyCode:(NSInteger)keyCode andFlagsTaken:(NSUInteger)flags reason:(NSString **)aReason;
    +- (void)shortcutRecorder:(SRRecorderControl *)aRecorder keyComboDidChange:(KeyCombo)newKeyCombo;
    +@end
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Versions/A/Headers/SRValidator.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,34 @@
    +//
    +// SRValidator.h
    +// ShortcutRecorder
    +//
    +// Copyright 2006-2007 Contributors. All rights reserved.
    +//
    +// License: BSD
    +//
    +// Contributors:
    +// David Dauer
    +// Jesper
    +// Jamie Kirkpatrick
    +
    +#import <Cocoa/Cocoa.h>
    +
    +@interface SRValidator : NSObject {
    + id delegate;
    +}
    +
    +- (id) initWithDelegate:(id)theDelegate;
    +
    +- (BOOL) isKeyCode:(NSInteger)keyCode andFlagsTaken:(NSUInteger)flags error:(NSError **)error;
    +- (BOOL) isKeyCode:(NSInteger)keyCode andFlags:(NSUInteger)flags takenInMenu:(NSMenu *)menu error:(NSError **)error;
    +
    +- (id) delegate;
    +- (void) setDelegate: (id) theDelegate;
    +
    +@end
    +
    +#pragma mark -
    +
    +@interface NSObject( SRValidation )
    +- (BOOL) shortcutValidator:(SRValidator *)validator isKeyCode:(NSInteger)keyCode andFlagsTaken:(NSUInteger)flags reason:(NSString **)aReason;
    +@end
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Versions/A/Headers/ShortcutRecorder.h Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,17 @@
    +//
    +// ShortcutRecorder.h
    +// ShortcutRecorder
    +// - 10.5 version only; master framework header
    +//
    +// Copyright 2007 Contributors. All rights reserved.
    +//
    +// License: BSD
    +//
    +// Contributors to this file:
    +// Jesper
    +
    +#import <ShortcutRecorder/SRCommon.h>
    +#import <ShortcutRecorder/SRKeyCodeTransformer.h>
    +#import <ShortcutRecorder/SRValidator.h>
    +#import <ShortcutRecorder/SRRecorderCell.h>
    +#import <ShortcutRecorder/SRRecorderControl.h>
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Versions/A/Resources/Info.plist Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,36 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    +<plist version="1.0">
    +<dict>
    + <key>BuildMachineOSBuild</key>
    + <string>11D50b</string>
    + <key>CFBundleDevelopmentRegion</key>
    + <string>English</string>
    + <key>CFBundleExecutable</key>
    + <string>ShortcutRecorder</string>
    + <key>CFBundleIdentifier</key>
    + <string>net.wafflesoftware.ShortcutRecorder.framework.Leopard</string>
    + <key>CFBundleInfoDictionaryVersion</key>
    + <string>6.0</string>
    + <key>CFBundlePackageType</key>
    + <string>FMWK</string>
    + <key>CFBundleSignature</key>
    + <string>????</string>
    + <key>CFBundleVersion</key>
    + <string>1.0</string>
    + <key>DTCompiler</key>
    + <string>com.apple.compilers.llvm.clang.1_0</string>
    + <key>DTPlatformBuild</key>
    + <string>4E2002</string>
    + <key>DTPlatformVersion</key>
    + <string>GM</string>
    + <key>DTSDKBuild</key>
    + <string>10K549</string>
    + <key>DTSDKName</key>
    + <string>macosx10.6</string>
    + <key>DTXcode</key>
    + <string>0432</string>
    + <key>DTXcodeBuild</key>
    + <string>4E2002</string>
    +</dict>
    +</plist>
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/SRRemoveShortcut.tif has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/SRRemoveShortcutPressed.tif has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/SRRemoveShortcutRollover.tif has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/SRSnapback.tiff has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/de.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/el.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/en.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/fr.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/it.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/ja.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/ko.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/nb.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/nl.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/pl.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/pt-BR.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/ro.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/sk.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/sv.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/th.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/Resources/zh-Hans.lproj/ShortcutRecorder.strings has changed
    Binary file Frameworks/ShortcutRecorder.framework/Versions/A/ShortcutRecorder has changed
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/Frameworks/ShortcutRecorder.framework/Versions/Current Sun Apr 08 00:58:50 2012 +0300
    @@ -0,0 +1,1 @@
    +A
    \ No newline at end of file