Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 2øªj™Zã~@sddlmZddlmZmZmZddlmZddlZddl Z e j e ƒZ dZ Gdd„deƒZdZd Zed Zed Zd ZeeZeeZeeZeeZeeZeeZGd d„dejƒZ�dÜZgZdgZ�d �d „Z�dÝ�d �d „Ze �dk�rddlZddlZej ej!ƒj"ƒdS(Þé)Ússtruct)ÚsafeEvalÚ num2binaryÚ binary2num)Ú DefaultTableNzç bFamilyType: B bSerifStyle: B bWeight: B bProportion: B bContrast: B bStrokeVariation: B bArmStyle: B bLetterForm: B bMidline: B bXHeight: B c@seZdZdd„Zdd„ZdS)ÚPanosecCs>tjtƒ\}}}x(|D] }|j|t||ƒd�|jƒqWdS)N)Úvalue)rÚ getformatÚ panoseFormatÚ simpletagÚgetattrÚnewline)ÚselfÚwriterÚttFontÚ formatstringÚnamesÚfixesÚname©rúD/tmp/pip-build-_d5lkt3n/fonttools/fontTools/ttLib/tables/O_S_2f_2.pyÚtoXMLs z Panose.toXMLcCst||t|dƒƒdS)Nr)Úsetattrr)rrÚattrsÚcontentrrrrÚfromXML!szPanose.fromXMLN)Ú__name__Ú __module__Ú __qualname__rrrrrrrsra¼ > # big endian version: H # version xAvgCharWidth: h # average character width usWeightClass: H # degree of thickness of strokes usWidthClass: H # aspect ratio fsType: H # type flags ySubscriptXSize: h # subscript horizontal font size ySubscriptYSize: h # subscript vertical font size ySubscriptXOffset: h # subscript x offset ySubscriptYOffset: h # subscript y offset ySuperscriptXSize: h # superscript horizontal font size ySuperscriptYSize: h # superscript vertical font size ySuperscriptXOffset: h # superscript x offset ySuperscriptYOffset: h # superscript y offset yStrikeoutSize: h # strikeout size yStrikeoutPosition: h # strikeout position sFamilyClass: h # font family class and subclass panose: 10s # panose classification number ulUnicodeRange1: L # character range ulUnicodeRange2: L # character range ulUnicodeRange3: L # character range ulUnicodeRange4: L # character range achVendID: 4s # font vendor identification fsSelection: H # font selection flags usFirstCharIndex: H # first unicode character index usLastCharIndex: H # last unicode character index sTypoAscender: h # typographic ascender sTypoDescender: h # typographic descender sTypoLineGap: h # typographic line gap usWinAscent: H # Windows ascender usWinDescent: H # Windows descender z/ ulCodePageRange1: L ulCodePageRange2: L zt sxHeight: h sCapHeight: h usDefaultChar: H usBreakChar: H usMaxContext: H z? usLowerOpticalPointSize: H usUpperOpticalPointSize: H z > # big endian c@s¦eZdZdZdgZdd„Zdd„Zdd„Zd d „Zd d „Z e d d„ƒZ e j dd„ƒZ e dd„ƒZ e j dd„ƒZ e dd„ƒZej dd„ƒZdd„Zdd„Zddd„ZdS)Útable_O_S_2f_2zthe OS/2 tableÚheadcCsØtjt||ƒ\}}|jdkr0tjt||ƒ\}}n~|jd krNtjt||ƒ\}}n`|jdkrˆtjt||ƒ\}}|jd_|jd_n&|jdkr®ddl m }|j d |jƒ‚t |ƒrÀt jd ƒtjt|jtƒƒ|_dS) Néééééér)ÚttLibz)unknown format for OS/2 table: version %sztoo much 'OS/2' table data)r"r#r$)rZunpack2Ú OS2_format_0ÚversionÚOS2_format_1_additionÚOS2_format_2_additionÚOS2_format_5_additionÚusLowerOpticalPointSizeÚusUpperOpticalPointSizeÚ fontToolsr'Ú TTLibErrorÚlenÚlogÚwarningÚunpackr Úpanoser)rÚdatarÚdummyr'rrrÚ decompileks      ztable_O_S_2f_2.decompilecCs`|j|ƒ|j}|d}|jd@r8|jd@ r8tjdƒ|jd@rX|jd@ rXtjdƒ|jd@rv|jd@rvtjdƒ|jdkr˜|jd @r˜tjd |jƒtjt |jƒ|_|jd krÀtjt |ƒ}n–|jdkrØtjt |ƒ}n~|jdk�ròtjt |ƒ}nd|jdk�r:|j jƒ}t|jdƒ|d<t|jdƒ|d<tjt|ƒ}nd dlm}|jd|jƒ‚||_|S)Nr r!zNfsSelection bit 0 (italic) and head table macStyle bit 1 (italic) should matchr%zJfsSelection bit 5 (bold) and head table macStyle bit 0 (bold) should matchézNfsSelection bit 6 (regular) is set, bits 0 (italic) and 5 (bold) must be clearr$i€zWfsSelection bits 7, 8 and 9 are only defined in OS/2 table version 4 and up: version %srr"r#r&r-r.)r'z)unknown format for OS/2 table: version %sr"é é@r:é!)r"r#r$)ÚupdateFirstAndLastCharIndexr5Ú fsSelectionZmacStyler2r3r)rÚpackr r(Ú OS2_format_1Ú OS2_format_2Ú__dict__ÚcopyÚroundr-r.Ú OS2_format_5r/r'r0)rrr5r r6Údr'rrrÚcompile~s8          ztable_O_S_2f_2.compilec Cs|jdƒ|jƒ|jdkr"t}n$|jdkr2t}n|jdkrBt}nt}tj|ƒ\}}}x¾|D]¶}t ||ƒ}|dkrœ|j dƒ|jƒ|j ||ƒ|j dƒnn|dkr¸|j |t|ƒd�nR|dkrÖ|j |t|dƒd�n4|dk�rü|j |t|ƒdd…d�n|j ||d�|jƒq\WdS)NzXThe fields 'usFirstCharIndex' and 'usLastCharIndex' will be recalculated by the compilerr!r"r#r$r%r5ÚulUnicodeRange1ÚulUnicodeRange2ÚulUnicodeRange3ÚulUnicodeRange4ÚulCodePageRange1ÚulCodePageRange2)rÚfsTyper>éÚ achVendID)r"r#r$)rHrIrJrKrLrM)rNr>éÿÿÿÿ)Úcommentr r)r@rArEr(rr r ZbegintagrZendtagr rÚrepr) rrrÚformatrrrrrrrrr s8         ztable_O_S_2f_2.toXMLc Cs¤|dkrHtƒ|_}xŠ|D](}t|tƒr|\}}}|j||||ƒqWnX|d krft||t|d ƒƒn:|d krŒt||td |d d ƒƒnt||t|d ƒƒdS)Nr5rHrIrJrKrLrMrNr>rrPz''')rHrIrJrKrLrMrNr>)rr5Ú isinstanceÚtuplerrrr)rrrrrr5ÚelementrrrrÁs    ztable_O_S_2f_2.fromXMLcCstd|kr dStƒ}x0t|ddgƒD]}|jƒr$|j|jjƒƒq$W|rpt|ƒ}t|ƒ}td|ƒ|_td|ƒ|_ dS)NÚcmapÚtablesiÿÿ) Úsetr Ú isUnicodeÚupdaterXÚkeysÚminÚmaxÚusFirstCharIndexÚusLastCharIndex)rrÚcodesÚtableZminCodeZmaxCoderrrr=Òs z*table_O_S_2f_2.updateFirstAndLastCharIndexcCs|jS)N)Ú usMaxContext)rrrrÚ usMaxContexâsztable_O_S_2f_2.usMaxContexcCs ||_dS)N)rd)rrrrrreæscCs|jS)N)r`)rrrrÚfsFirstCharIndexêsztable_O_S_2f_2.fsFirstCharIndexcCs ||_dS)N)r`)rrrrrrfîscCs|jS)N)ra)rrrrÚfsLastCharIndexòsztable_O_S_2f_2.fsLastCharIndexcCs ||_dS)N)ra)rrrrrrgöscCsœtƒ}|j|j}}|j|j}}xttdƒD]h}|d|>@rF|j|ƒ|d|>@r`|j|dƒ|d|>@rz|j|dƒ|d|>@r,|j|dƒq,W|S)z= Return the set of 'ulUnicodeRange*' bits currently enabled. r:r!r;é`)rZrHrIrJrKÚrangeÚadd)rÚbitsÚul1Úul2Úul3Úul4ÚirrrÚgetUnicodeRangesús     ztable_O_S_2f_2.getUnicodeRangescCsêd \}}}}x¼|D]´}d|ko(dknr<|d|>O}qd|koNdknrf|d|d>O}qd|koxdknr�|d|d>O}qd|ko¢dknrº|d|d>O}qtd|ƒ‚qW|||_|_|||_|_dS) z; Set the 'ulUnicodeRange*' fields to the specified 'bits'. rr:r!r;rhé{z#expected 0 <= int <= 122, found: %rN)rrrr)Ú ValueErrorrHrIrJrK)rrkrlrmrnroÚbitrrrÚsetUnicodeRanges s  ztable_O_S_2f_2.setUnicodeRangesFcCsftƒ}x*|djD]}|jƒr|j|jjƒƒqW|rPt|dd�}|jƒ|}nt|ƒ}|j|ƒ|S)a/ Intersect the codepoints in the font's Unicode cmap subtables with the Unicode block ranges defined in the OpenType specification (v1.7), and set the respective 'ulUnicodeRange*' bits if there is at least ONE intersection. If 'pruneOnly' is True, only clear unused bits with NO intersection. rXT)Úinverse) rZrYr[r\rXr]ÚintersectUnicodeRangesrqru)rrZ pruneOnlyÚunicodesrcÚemptyrkrrrÚrecalcUnicodeRangess  z"table_O_S_2f_2.recalcUnicodeRangesN)F)rrrÚ__doc__Z dependenciesr8rGrrr=ÚpropertyreÚsetterrfrgrqrurzrrrrres "!   rú Basic LatinéúLatin-1 Supplementé€éÿúLatin Extended-AééúLatin Extended-Bé€éOúIPA ExtensionséPé¯úPhonetic ExtensionsééúPhonetic Extensions Supplementé€é¿úSpacing Modifier Lettersé°éÿúModifier Tone Lettersé§é§úCombining Diacritical Marksééoú&Combining Diacritical Marks SupplementéÀéÿúGreek and CopticépéÿÚCopticé€,éÿ,ÚCyrillicééÿúCyrillic Supplementéé/úCyrillic Extended-Aéà-éÿ-úCyrillic Extended-Bé@¦éŸ¦ÚArmeniané0é�ÚHebrewé�éÿÚVaié¥é?¦ÚArabicééÿúArabic SupplementéPéÚNKoéÀéÿÚ Devanagarié é ÚBengalié€ éÿ ÚGurmukhié é ÚGujaratié€ éÿ ÚOriyaé é ÚTamilé€ éÿ ÚTelugué é ÚKannadaé€ éÿ Ú Malayalamé é ÚThaiééÚLaoé€éÿÚGeorgiané éÿúGeorgian Supplementé-é/-ÚBalineseééú Hangul JamoééÿúLatin Extended AdditionalééÿúLatin Extended-Cé`,é,úLatin Extended-Dé §éÿ§úGreek ExtendedééÿúGeneral Punctuationé éo úSupplemental Punctuationé.é.úSuperscripts And Subscriptsép éŸ úCurrency Symbolsé  éÏ ú'Combining Diacritical Marks For SymbolséÐ éÿ úLetterlike Symbolsé!éO!ú Number FormséP!é�!ÚArrowsé�!éÿ!úSupplemental Arrows-Aéð'éÿ'úSupplemental Arrows-Bé)é)ú Miscellaneous Symbols and Arrowsé+éÿ+úMathematical Operatorsé"éÿ"ú#Supplemental Mathematical Operatorsé*éÿ*ú$Miscellaneous Mathematical Symbols-AéÀ'éï'ú$Miscellaneous Mathematical Symbols-Bé€)éÿ)úMiscellaneous Technicalé#éÿ#úControl Picturesé$é?$úOptical Character Recognitioné@$é_$úEnclosed Alphanumericsé`$éÿ$ú Box Drawingé%é%úBlock Elementsé€%éŸ%úGeometric Shapesé %éÿ%úMiscellaneous Symbolsé&éÿ&ÚDingbatsé'é¿'úCJK Symbols And Punctuationé0é?0ÚHiraganaé@0éŸ0ÚKatakanaé 0éÿ0úKatakana Phonetic Extensionséð1éÿ1ÚBopomofoé1é/1úBopomofo Extendedé 1é¿1úHangul Compatibility Jamoé01é�1úPhags-paé@¨é¨úEnclosed CJK Letters And Monthsé2éÿ2úCJK Compatibilityé3éÿ3úHangul Syllablesé¬é¯×ú Non-Plane 0 *éØéÿßÚ Phoeniciané é úCJK Unified IdeographséNéÿŸúCJK Radicals Supplementé€.éÿ.úKangxi Radicalsé/éß/ú"Ideographic Description Characterséð/éÿ/ú"CJK Unified Ideographs Extension Aé4é¿Mú"CJK Unified Ideographs Extension BééߦÚKanbuné�1éŸ1úPrivate Use Area (plane 0)éàéÿøú CJK StrokeséÀ1éï1úCJK Compatibility Ideographséùéÿúú'CJK Compatibility Ideographs SupplementéøéúúAlphabetic Presentation FormséûéOûúArabic Presentation Forms-AéPûéÿýúCombining Half Marksé þé/þúVertical FormséþéþúCJK Compatibility Formsé0þéOþúSmall Form VariantséPþéoþúArabic Presentation Forms-BépþéÿþúHalfwidth And Fullwidth FormséÿéïÿÚSpecialséðÿéÿÿÚTibetanééÿÚSyriacééOÚThaanaé€é¿ÚSinhalaé€ éÿ ÚMyanmarééŸÚEthiopicééúEthiopic Supplementé€éŸúEthiopic Extendedé€-éß-ÚCherokeeé éÿú%Unified Canadian Aboriginal SyllabicsééÚOghamé€éŸÚRunicé éÿÚKhmeré€éÿú Khmer SymbolséàéÿÚ Mongolianéé¯úBraille Patternsé(éÿ(ú Yi Syllablesé é�¤ú Yi Radicalsé�¤éϤÚTagalogééÚHanunooé é?ÚBuhidé@é_ÚTagbanwaé`éú Old Italicéé/ÚGothicé0éOÚDeseretééOúByzantine Musical SymbolséÐéÿÐúMusical SymbolséÑéÿÑúAncient Greek Musical NotationéÒéOÒú!Mathematical Alphanumeric SymbolséÔéÿ×úPrivate Use (plane 15)ééýÿúPrivate Use (plane 16)ééýÿúVariation SelectorséþéþúVariation Selectors SupplementééïÚTagsééÚLimbuééOúTai LeéPéú New Tai Lueé€éßÚBugineseééÚ Glagoliticé,é_,ÚTifinaghé0-é-úYijing Hexagram SymbolséÀMéÿMú Syloti Nagrié¨é/¨úLinear B SyllabaryééúLinear B Ideogramsé€éÿúAegean Numberséé?úAncient Greek Numbersé@é�ÚUgariticé€éŸú Old Persiané éßÚShavianéPéÚOsmanyaé€é¯úCypriot Syllabaryéé?Ú Kharoshthié é_ úTai Xuan Jing SymbolséÓé_ÓÚ Cuneiformé éÿ#ú!Cuneiform Numbers and Punctuationé$é$úCounting Rod Numeralsé`ÓéÓÚ Sundaneseé€é¿ÚLepchaééOúOl ChikiéPéÚ Saurashtra逨éߨúKayah Lié©é/©ÚRejangé0©é_©ÚChaméªé_ªúAncient Symbolsé�éÏú Phaistos DiscéÐéÿÚCariané éßÚLyciané€éŸÚLydiané é? ú Domino Tilesé0ðéŸðú Mahjong Tileséðé/ðcCsPtsHdd„ttƒDƒ}x0t|ƒD]$\}\}}tj|ƒtj||fƒq WttfS)NcSs.g|]&\}}|D]\}\}}|||ff‘qqSrr)Ú.0rtÚblocksÚ_ÚstartÚstoprrrú åsz%_getUnicodeRanges..)Ú_unicodeStartsÚ enumerateÚOS2_UNICODE_RANGESÚsortedÚappendÚ_unicodeValues)Z unicodeRangesr{r|rtrrrÚ_getUnicodeRangesás  r„FcCs„t|ƒ}tƒ\}}tƒ}x2|D]*}|tj||ƒ\}}||kr|j|ƒqWtdd„|Dƒƒrh|jdƒ|r€ttttƒƒƒ|S|S)a' Intersect a sequence of (int) Unicode codepoints with the Unicode block ranges defined in the OpenType specification v1.7, and return the set of 'ulUnicodeRanges' bits for which there is at least ONE intersection. If 'inverse' is True, return the the bits for which there is NO intersection. >>> intersectUnicodeRanges([0x0410]) == {9} True >>> intersectUnicodeRanges([0x0410, 0x1F000]) == {9, 57, 122} True >>> intersectUnicodeRanges([0x0410, 0x1F000], inverse=True) == ( ... set(range(len(OS2_UNICODE_RANGES))) - {9, 57, 122}) True css&|]}d|kodknVqdS)iiNr)rxÚcoderrrú sz)intersectUnicodeRanges..é9)rZr„ÚbisectrjÚanyrir1r€)rxrvZ unicodestartsZ unicodevaluesrkr…r|rtrrrrwís   rwÚ__main__©rr©r~r‹©rŒ©r�r‚©r€rŽ©r�©r„r…©rƒr‘©r’©r‡rˆ©r†r”©r•©rŠr‹©r‰r—©r�rŽ©rŒr™©r�r‘©r�r›©r˜ršrœ©r“r”©r’rž©r–r—©r•r ©rŸr¡©r™rš©r˜r£©rœr�©r›r¥©r¤r¦©rŸr ©ržr¨©r©©r¢r£©r¡r«©r¬©r¥r¦©r¤r®©r¨r©©r§r°©r«r¬©rªr²©r®r¯©r­r´©r¯r±r³rµ©r±r²©r°r·©r¸©r´rµ©r³rº©r»©r·r¸©r¶r½©r¾©rºr»©r¹rÀ©r½r¾©r¼r©rÁrérÀrÁ©r¿rÅ©rÆ©rÃrÄ©rÂrÈ©rÉ©rÆrÇ©rÅrË©rÌ©rÉrÊ©rÈrΩrÏ©rÌrÍ©rËrÑ©rÒ©rÏrЩrÎrÔ©rÕ©rÒrÓ©rÑrשrØ©rÕrÖ©rÔrÚ©rÛ©rØrÙ©r×rÝ©rÞ©rÛrÜ©rÚrà©rá©rÞrß©rÝrã©rä©rárâ©ràræ©rç©rärå©rãré©rçrè©rærë©rêrì©rêrë©rérî©rï©rírî©rìrñ©rò©rðrñ©rïrô©rórô©ròrö©rör÷©rõrø©rõr÷rù©rùrú©rørû©rü©rürý©rûrþ©rÿr©rþr©rÿr©rr©rr©r©rr©rr©r©rr ©rr ©r ©r r ©r r ©r ©rr©r r©r©rr©rr©rr©rr©rr©rr©rr©rr©rrrr©rr©rr©r r!©rr©r#r$©r"r©r&r'©r%r!©rrr r"©r)r*©r(r$©r%©r,r-©r+r'©r(©r/r0©r.r*©r+©r2r3©r1r-©r.©r5r6©r4r0©r1©r8r9©r7r3©r4©r;r<©r:r6©r7©r>r?©r=r9©r:©rArB©r@r<©r=©rDrE©rCr?©r@©rGrH©rFrB©rC©rJrK©rIrE©rMrN©rLrG©rFrH©rPrQ©rOrJ©rSrT©rRrL©rKrM©rVrW©rUrO©rP©rYrZ©rXrR©rS©r\r]©r[rU©rV©r_r`©r^rX©rY©rbrc©rar[©r\©rerf©rdr^©r_©rhri©rgra©rb©rkrl©rjrd©rnro©rmrf©rqrr©rprh©rtru©rsrj©rwrx©rvrl©rzr{©ryrn©r}r~©r|rp©rergrirkrmrorq©r€r�©rrs©rt©rƒr„©r‚rv©r†r‡©r…rx©r‰rŠ©rˆrz©rwryr{©rŒr�©r‹r}©r~©r�r�©rŽr€©r�©r’r“©r‘rƒ©r„©r•r–©r”r†©r˜r™©r—rˆ©r‡r‰©r›rœ©ršr‹©rŒ©ržrŸ©r�rŽ©r�©r¡r¢©r r‘©r’©r¤r¥©r£r”©r•©r§r¨©r¦r—©r˜©rªr«©r©rš©r›©r­r®©r¬r�©rž©r°r±©r¯r ©r¡©r³r´©r²r£©r¤©r¶r·©rµr¦©r¹rº©r¸r¨©r¼r½©r»rª©r§r©r«©r¿rÀ©r¾r­©r®©rÂrérÁr°©r±©rÅrÆ©rÄr³©r´©rÈrÉ©rÇr¶©r·©rËrÌ©rÊr¹©rÎrÏ©rÍr»©rºr¼©rÑrÒ©rÐr¾©r¿©rÔrÕ©rÓrÁ©r©r×rØ©rÖrÄ©rÚrÛ©rÙrÆ©rÅrÇ©rÝrÞ©rÜrÉ©ràrá©rßrË©rãrä©rârÍ©rærç©rårÏ©rÊrÌrÎrЩrérê©rèrÒ©rÓ©rìrí©rërÕ©rÖ©rïrð©rîrØ©rÙ©ròró©rñrÛ©rõrö©rôrÝ©rørù©r÷rß©rÜrÞrà©rûrü©rúrâ©rã©rþrÿ©rýrå©rr©rrç©rærè©rr©rrê©rr©rrì©rërí©r r ©r rï©rð©r r©r rò©ró©rr©rrõ©rö©rr©rrø©rù©rr©rrû©rü©rr©rrþ©rÿ©rr©rr©r©rr ©rr©r©r"r#©r!r©r©r%r&©r$r ©r(r)©r'r ©r+r,©r*r©r r r©r.r/©r-r©r©r1r2©r0r©r©r4r5©r3r©r©r7r8©r6r©r©r:r;©r9r©r©r=r>©r<r ©r!©r@rA©r?r#©r$©rCrD©rBr&©r'©rFrG©rEr)©rIrJ©rHr+©r*r,©rLrM©rKr.©r/©rOrP©rNr1©r2©rRrS©rQr4©r5©rUrV©rTr7©r8©rXrY©rWr:©r;©r[r\©rZr=©r>©r^r_©r]r@©rA©rarb©r`rC©rD©rdre©rcrF©rG©rgrh©rfrI©rJ©rjrk©rirL©rmrn©rlrN©rprq©rorP©rMrOrQ©rsrt©rrrS©rvrw©rurU©rTrV){r�r�r“r–r�r¢r§rªr­r¶r¹r¼r¿rÄrÇrÊrÍrÐrÓrÖrÙrÜrßrârårèrírðrórúrýrrrr rrrr#r&r)r,r/r2r5r8r;r>rArDrIrNrQrTrWrZr]r`rcrrrur|rr‚r…rŠr�r�r“r–r™rœrŸr¢r¥r¬r¯r²rµr¸r½rÀrÃrÈrÑrÔr×rÚrárärérîrñrôr÷rúrýrrrr rrrrrrr"r%r(r-r0r3r6r9r<r?rBrErHrKrRrW)F)#ZfontTools.miscrZfontTools.misc.textToolsrrrZfontTools.ttLib.tablesrrˆÚloggingÚ getLoggerrr2r Úobjectrr(r*r+r,Z bigendianr@rArErr€r~rƒr„rwÚdoctestÚsysÚexitÚtestmodÚfailedrrrrÚsŒ   .N