Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0dff252

Browse files
committed
Merge pull request#6427 from jkseppan/pdf-dict-order
MNT: Output pdf dicts in deterministic order
2 parents927631e +9dfb35d commit0dff252

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

‎lib/matplotlib/backends/backend_pdf.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
importwarnings
1919
importzlib
2020
fromioimportBytesIO
21+
fromfunctoolsimporttotal_ordering
2122

2223
importnumpyasnp
2324
frommatplotlib.externals.siximportunichr
@@ -182,8 +183,8 @@ def pdfRepr(obj):
182183
# represented as Name objects.
183184
elifisinstance(obj,dict):
184185
r= [b"<<"]
185-
r.extend([Name(key).pdfRepr()+b" "+pdfRepr(val)
186-
forkey,valinsix.iteritems(obj)])
186+
r.extend([Name(key).pdfRepr()+b" "+pdfRepr(obj[key])
187+
forkeyinsorted(obj)])
187188
r.append(b">>")
188189
returnfill(r)
189190

@@ -243,6 +244,7 @@ def write(self, contents, file):
243244
write(b"\nendobj\n")
244245

245246

247+
@total_ordering
246248
className(object):
247249
"""PDF name object."""
248250
__slots__= ('name',)
@@ -262,6 +264,15 @@ def __repr__(self):
262264
def__str__(self):
263265
return'/'+six.text_type(self.name)
264266

267+
def__eq__(self,other):
268+
returnisinstance(other,Name)andself.name==other.name
269+
270+
def__lt__(self,other):
271+
returnisinstance(other,Name)andself.name<other.name
272+
273+
def__hash__(self):
274+
returnhash(self.name)
275+
265276
@staticmethod
266277
defhexify(match):
267278
return'#%02x'%ord(match.group())

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp