mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
MOBI Output: When outputting joint KF8/MOBI6 files set the first/last content record fields in the MOBI 6 header correctly
This commit is contained in:
parent
4c68a73e11
commit
b660972f25
@ -415,8 +415,8 @@ class MOBIHeader(object): # {{{
|
|||||||
if self.has_extra_data_flags:
|
if self.has_extra_data_flags:
|
||||||
a('Unknown4: %r'%self.unknown4)
|
a('Unknown4: %r'%self.unknown4)
|
||||||
if hasattr(self, 'first_text_record'):
|
if hasattr(self, 'first_text_record'):
|
||||||
a('First text record: %d'%self.first_text_record)
|
a('First content record: %d'%self.first_text_record)
|
||||||
a('Last text record: %d'%self.last_text_record)
|
a('Last content record: %d'%self.last_text_record)
|
||||||
else:
|
else:
|
||||||
r('FDST Index', 'fdst_idx')
|
r('FDST Index', 'fdst_idx')
|
||||||
a('FDST Count: %d'% self.fdst_count)
|
a('FDST Count: %d'% self.fdst_count)
|
||||||
|
@ -382,6 +382,7 @@ class MobiWriter(object):
|
|||||||
first_image_record = len(self.records)
|
first_image_record = len(self.records)
|
||||||
self.resources.serialize(self.records, used_images)
|
self.resources.serialize(self.records, used_images)
|
||||||
resource_record_count = len(self.records) - old
|
resource_record_count = len(self.records) - old
|
||||||
|
last_content_record = len(self.records) - 1
|
||||||
|
|
||||||
# FCIS/FLIS (Seems to serve no purpose)
|
# FCIS/FLIS (Seems to serve no purpose)
|
||||||
flis_number = len(self.records)
|
flis_number = len(self.records)
|
||||||
@ -406,7 +407,7 @@ class MobiWriter(object):
|
|||||||
# header
|
# header
|
||||||
header_fields['first_resource_record'] = first_image_record
|
header_fields['first_resource_record'] = first_image_record
|
||||||
header_fields['exth_flags'] = 0b100001010000 # Kinglegen uses this
|
header_fields['exth_flags'] = 0b100001010000 # Kinglegen uses this
|
||||||
header_fields['fdst_record'] = NULL_INDEX
|
header_fields['fdst_record'] = pack(b'>HH', 1, last_content_record)
|
||||||
header_fields['fdst_count'] = 1 # Why not 0? Kindlegen uses 1
|
header_fields['fdst_count'] = 1 # Why not 0? Kindlegen uses 1
|
||||||
header_fields['flis_record'] = flis_number
|
header_fields['flis_record'] = flis_number
|
||||||
header_fields['fcis_record'] = fcis_number
|
header_fields['fcis_record'] = fcis_number
|
||||||
|
Loading…
x
Reference in New Issue
Block a user