Transformation Of Marked-up Content To A Reversible File Format For Automated Browser Based Pagination
20180239775 ยท 2018-08-23
Inventors
- Venkatesan Sumangali Kidambi (Chennai, IN)
- Srikanth Vittal (Chennai, IN)
- Bhaskar Venkatraman (Chennai, IN)
Cpc classification
G06F40/117
PHYSICS
International classification
Abstract
A method and a file format transformation system (FFTS) for transforming marked-up content in a first file format (FFF) to a reversible second file format (RSFF) are provided. The FFTS reflows marked-up content of the FFF into a continuous page. The FFTS generates and appends tags to spaces and block elements identified in the reflown marked-up content of the FFF. For each space and block element, the FFTS determines and tags line breaks in the reflown marked-up content. For each line break, the FFTS identifies, tags, and positions anchored floats and footnotes on a current page based on space availability. The FFTS positions page breaks in the continuous page based on a configurable page height and the line breaks. The FFTS groups the marked-up content, inserts pagination elements, for example, page numbers, etc., and renders the grouped marked-up content in the RSFF, which is reversible to restore the continuous page.
Claims
1. A computer implemented method for transforming marked-up content in a first file format to a reversible second file format, said method employing a file format transformation system deployed on a client device comprising at least one processor configured to execute computer program instructions for performing said method, said method comprising: receiving said marked-up content of said first file format by said file format transformation system; reflowing said received marked-up content of said first file format into a continuous page having a configurable page width by said file format transformation system; identifying spaces and block elements in said reflown marked-up content of said first file format by said file format transformation system; generating and appending tags to said identified spaces and said identified block elements in said reflown marked-up content of said first file format by said file format transformation system; for each of said identified spaces and said identified block elements: determining line breaks in said reflown marked-up content of said first file format based on preconfigured criteria associated with said appended tags by said file format transformation system and tagging said determined line breaks by said file format transformation system; for each of said determined line breaks: identifying anchored floats in said reflown marked-up content of said first file format by said file format transformation system and tagging said identified anchored floats by said file format transformation system; positioning said tagged anchored floats on a current page by said file format transformation system based on availability of space for said tagged anchored floats on said current page; identifying footnotes in said reflown marked-up content of said first file format by said file format transformation system and tagging said identified footnotes by said file format transformation system; positioning said tagged footnotes at a footnote section on said current page by said file format transformation system based on availability of space for said tagged footnotes on said current page; positioning page breaks in said continuous page by said file format transformation system based on a configurable page height and said determined line breaks for said positioning of said tagged anchored floats and said tagged footnotes on a subsequent page on non-availability of said space on said current page; grouping said marked-up content with said positioned anchored floats and said positioned footnotes on each page by said file format transformation system; and inserting one or more of a plurality of pagination elements on said each page containing said grouped marked-up content by said file format transformation system; and rendering said grouped marked-up content with said inserted one or more of said pagination elements in said reversible second file format by said file format transformation system, wherein said reversible second file format allows said marked-up content to be reversed to said first file format to restore said continuous page.
2. The computer implemented method of claim 1, wherein said tagged anchored floats are positioned proximal to associated float citations on said current page based on said availability of said space for said tagged anchored floats on said current page.
3. The computer implemented method of claim 1, wherein said tagged footnotes are positioned proximal to associated footnote citations on said current page based on availability of space for said tagged footnotes on said current page.
4. The computer implemented method of claim 1, wherein said first file format is one of a hypertext markup language format, an extensible hypertext markup language format, and an extensible markup language format.
5. The computer implemented method of claim 1, wherein said determined line breaks retain integrity of said reversible second file format by hyphenating and adjusting spaces in said rendered marked-up content.
6. The computer implemented method of claim 1, further comprising handling grouped elements comprising a float and a caption associated with said float in said reversible second file format at a position assigned in said marked-up content of said first file format to said float by said file format transformation system.
7. The computer implemented method of claim 1, wherein said pagination elements comprise page numbers, a header, a footer, a footnote ruler, fillers, and any combination thereof.
8. The computer implemented method of claim 1, further comprising hyphenation and justification of said rendered marked-up content in said reversible second file format by said file format transformation system to provide kerning based on aesthetics.
9. The computer implemented method of claim 1, wherein said rendered marked-up content in said reversible second file format is accessible on a plurality of browsers on a plurality of operating systems.
10. A system for transforming marked-up content in a first file format to a reversible second file format, said system comprising: a non-transitory computer readable storage medium configured to store computer program instructions defined by modules of a file format transformation system; at least one processor communicatively coupled to said non-transitory computer readable storage medium, said at least one processor configured to execute said defined computer program instructions; and said file format transformation system comprising: a content reception module configured to receive said marked-up content of said first file format; a content reflow module configured to reflow said received marked-up content of said first file format into a continuous page having a configurable page width; a space and block identification module configured to identify spaces and block elements in said reflown marked-up content of said first file format; a tagging module configured to generate and append tags to said identified spaces and said identified block elements in said reflown marked-up content of said first file format; for each of said identified spaces and said identified block elements: a pagination element processing module configured to determine line breaks in said reflown marked-up content of said first file format based on preconfigured criteria associated with said appended tags, wherein said tagging module is further configured to tag said determined line breaks; for each of said determined line breaks: said pagination element processing module further configured to identify anchored floats in said reflown marked-up content of said first file format, wherein said tagging module is further configured to tag said identified anchored floats; said pagination element processing module further configured to position said tagged anchored floats on a current page based on availability of space for said tagged anchored floats on said current page; said pagination element processing module further configured to identify footnotes in said reflown marked-up content of said first file format, wherein said tagging module is further configured to tag said identified footnotes; said pagination element processing module further configured to position said tagged footnotes at a footnote section on said current page based on availability of space for said tagged footnotes on said current page; said pagination element processing module further configured to position page breaks in said continuous page based on a configurable page height and said determined line breaks for said positioning of said tagged anchored floats and said tagged footnotes on a subsequent page on non-availability of said space on said current page; a compiler configured to group said marked-up content with said positioned anchored floats and said positioned footnotes on each page; and said pagination element processing module further configured to insert one or more of a plurality of pagination elements on said each page containing said grouped marked-up content; and said compiler further configured to render said grouped marked-up content with said inserted one or more of said pagination elements in said reversible second file format, wherein said reversible second file format allows said marked-up content to be reversed to said first file format to restore said continuous page.
11. The system of claim 10, wherein said pagination element processing module is configured to position said tagged anchored floats proximal to associated float citations on said current page based on said availability of said space for said tagged anchored floats on said current page.
12. The system of claim 10, wherein said pagination element processing module is configured to position said tagged footnotes proximal to associated footnote citations on said current page based on said availability of said space for said tagged footnotes on said current page.
13. The system of claim 10, wherein said first file format is one of a hypertext markup language format, an extensible hypertext markup language format, and an extensible markup language format.
14. The system of claim 10, wherein said determined line breaks retain integrity of said reversible second file format by hyphenating and adjusting spaces in said rendered marked-up content.
15. The system of claim 10, wherein said pagination element processing module is further configured to handle grouped elements comprising a float and a caption associated with said float in said reversible second file format at a position assigned in said marked-up content of said first file format to said float.
16. The system of claim 10, wherein said pagination elements comprise page numbers, a header, a footer, a footnote ruler, fillers, and any combination thereof.
17. A computer program product comprising a non-transitory computer readable storage medium having embodied thereon, computer program codes comprising instructions executable by at least one processor for transforming marked-up content in a first file format to a reversible second file format, said computer program codes comprising: a first computer program code for receiving said marked-up content of said first file format; a second computer program code for reflowing said received marked-up content of said first file format into a continuous page having a configurable page width; a third computer program code for identifying spaces and block elements in said reflown marked-up content of said first file format; a fourth computer program code for generating and appending tags to said identified spaces and said identified block elements in said reflown marked-up content of said first file format; for each of said identified spaces and said identified block elements: a fifth computer program code for determining line breaks in said reflown marked-up content of said first file format based on preconfigured criteria associated with said appended tags and a sixth computer program code for tagging said determined line breaks; for each of said determined line breaks: a seventh computer program code for identifying anchored floats in said reflown marked-up content of said first file format and an eight computer program code for tagging said identified anchored floats; a ninth computer program code for positioning said tagged anchored floats on a current page based on availability of space for said tagged anchored floats on said current page; a tenth computer program code for identifying footnotes in said reflown marked-up content of said first file format and an eleventh computer program code for tagging said identified footnotes; a twelfth computer program code for positioning said tagged footnotes at a footnote section on said current page based on availability of space for said tagged footnotes on said current page; a thirteenth computer program code for positioning page breaks in said continuous page based on a configurable page height and said determined line breaks for said positioning of said tagged anchored floats and said tagged footnotes on a subsequent page on non-availability of said space on said current page; a fourteenth computer program code for grouping said marked-up content with said positioned anchored floats and said positioned footnotes on each page; and a fifteenth computer program code for inserting one or more of a plurality of pagination elements on said each page containing said grouped marked-up content; and a sixteenth computer program code for rendering said grouped marked-up content with said inserted one or more of said pagination elements in said reversible second file format, wherein said reversible second file format allows said marked-up content to be reversed to said first file format to restore said continuous page.
18. The computer program product of claim 17, wherein said ninth computer program code positions said tagged anchored floats proximal to associated float citations on said current page based on said availability of said space for said tagged anchored floats on said current page.
19. The computer program product of claim 17, wherein said twelfth computer program code positions said tagged footnotes proximal to associated footnote citations on said current page based on said availability of said space for said tagged footnotes on said current page.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The foregoing summary, as well as the following detailed description of the invention, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, exemplary constructions of the invention are shown in the drawings. However, the invention is not limited to the specific methods and components disclosed herein. The description of a method step or a component referenced by a numeral in a drawing is applicable to the description of that method step or component shown by that same numeral in any subsequent drawing herein.
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
DETAILED DESCRIPTION OF THE INVENTION
[0029]
[0030] The computer implemented method disclosed herein employs a file format transformation system (FFTS) deployed on a client device comprising at least one processor configured to execute computer program instructions for transforming marked-up content in a first file format to a reversible second file format. The client device is a computing device, for example, a personal computer, a tablet computing device, a mobile computer, a mobile phone, a smart phone, etc. The FFTS converts web content seamlessly using document tagging. The file format transformation system (FFTS) receives 101 marked-up content of a first file format, for example, a hypertext markup language (HTML), an extensible hypertext markup language format (XHTML), etc. The FFTS receives document contents, for example, in the HTML format. In an embodiment, the first file format is an extensible markup language (XML). In this embodiment, the FFTS converts a document from the XML format to an HTML format and then transforms the mark-up content in the HTML format to the reversible file format. A browser that loads the marked-up content of the first file format inserts code points, for example, soft hyphens in the marked-up content of the first file format based on dictionary elements, for example, dictionary syllables such asim-por-tant, con-se-quence, ap-pear-ance, etc. As used herein, a soft hyphen refers to a code point reserved in coded character sets used for breaking words across lines by inserting visible hyphens. Unicode defines the soft hyphens as invisible characters that allow a manual specification of a position where a hyphenated break is allowed without forcing a line break in an inconvenient place if the content or text is later reflowed. The FFTS reflows 102 the received marked-up content of the first file format into a continuous page having a configurable page width. As used herein, the term reflow refers to a browser process of recalculating positions of HTML elements in the HTML content and re-rendering the HTML elements with new positions.
[0031] The file format transformation system (FFTS) identifies 103 spaces and block elements in the reflown marked-up content of the first file format. In an embodiment, the FFTS identifies existing break elements, for example, hard breaks such as soft hyphen breaks, line breaks, and para breaks in the reflown marked-up content of the first file format. The FFTS also identifies unanchored or uncited floats in the reflown marked-up content of the first file format. The block elements are content elements that create blocks or large groupings of content and generally begin new lines of text. The block elements expand to fill a parent container containing text, inline elements, etc., and can have margins and/or padding, fitting the child elements. The <div> element is a block element in the hypertext markup language (HTML). The block elements, for example, (<div>, <h1>-<h6>, <p>) in a document start on a new line and take up the full width available. The FFTS generates and appends 104 tags to the identified spaces and the identified block elements in the reflown marked-up content of the first file format. The FFTS generates tags in accordance with structural semantics of the marked-up content, which then helps the scripts recognize the tags. The FFTS replaces the identified word spaces, for example, with <span data-PH5=WS>, where the term span is a tag used to group inline elements, for example, <a>, <img>, etc., in the HTML that do not start on a new line and only take up a necessary width. As used herein, word space refers to a single space between two words. The FFTS tags the identified block elements, for example, as <div class WSP>, where WSP refers to para break. In an embodiment, floats and footnotes have prior representation in an input document of the first file format, for example, the HTML format and need no specific tagging. As used herein, floats refer, for example, to images, videos, audio content, tables, figures, etc., that float unhinged from the main content flow, except in their relationship to their citations as available in the input document. Also, as used herein, the term footnotes refers to content that is intended to be placed at the bottom of a page and used to cite references to content on the page. Image floats have, for example, <img> tags. Table floats can be recognized by the presence of various tag elements, for example, <td>, <tr>, etc. Footnotes are in a number series and are shown as superscript <sup> numbers that are assigned to specific locations in the main content flow, and these superscripts reference notes appended to the main content, for example, at the bottom in a continuous page.
[0032] For each of the identified spaces and the identified block elements 105, the file format transformation system (FFTS) determines 106 line breaks in the reflown marked-up content of the first file format based on preconfigured criteria associated with the appended tags exemplarily illustrated in
[0033] For each of the determined line breaks 107, the file format transformation system (FFTS) identifies 108 anchored floats in the reflown marked-up content of the first file format and tags the identified anchored floats. The FFTS positions 109 the tagged anchored floats on a current page based on availability of space for the identified anchored floats on the current page. The FFTS positions the tagged anchored floats proximal to associated float citations on the current page based on availability of space for the tagged anchored floats on the current page. The FFTS identifies 110 footnotes in the reflown marked-up content of the first file format and tags the identified footnotes. The FFTS places the footnotes initially as line notes immediately below the cited line, works out the available space after flowing the main text, and then reflows the footnote to the bottom of the same page. The FFTS positions 111 the tagged footnotes at a footnote section on the current page based on availability of space for the tagged footnotes on the current page. The FFTS positions the tagged footnotes proximal to associated footnote citations on the current page based on availability of space for the tagged footnotes on the current page. The FFTS positions page breaks 112 in the continuous page based on a configurable page height and the determined line breaks for the positioning of the tagged anchored floats and the tagged footnotes on a subsequent page on non-availability of space on the current page. As used herein, page break refers to a marker that indicates that content which follows the marker is part of a new page. The FFTS groups 113 the marked-up content with the positioned anchored floats and the positioned footnotes on each page. The FFTS inserts 114 one or more of multiple pagination elements, for example, page numbers, a header, a footer, a footnote ruler, fillers, etc., on each page containing the grouped marked-up content.
[0034] The FFTS tags the identified word spaces, for example, as <span data-ph5=ws>. The FFTS tags the line breaks, for example, as <span data-ph5=wsbr>. The FFTS represents the lines ending with hyphenations, for example, as <span data-ph5=wshbr>. At the end of every paragraph in the reflown marked-up content, the file format transformation system (FFTS) introduces a paragraph break. As used herein, paragraph break refers to a pagination element representing the end of a paragraph. The paragraph break is a non-intrusive data model that preserves an original data model of the hypertext markup language (HTML). The FFTS represents the paragraphs, for example, as <p>, <div>, etc., and appends appropriate tags, for example, <div data-ph5=wsp> to the paragraphs. The FFTS tags the paragraph breaks, for example, as <div data-ph5=wsp>.
[0035] The file format transformation system (FFTS) positions the floats, for example, figures, tables, text boxes, etc., closer to anchors within the available space. Where anchors are not available, the FFTS appends anchors at the input location of the float. The FFTS represents the floats, for example, as <div data-ph5=float> with a relevant identifier (id) attribute. The corresponding anchors are represented as <span data-ph5=float-anchor> with a refid attribute matching the id attribute value of the corresponding float. The FFTS initially positions the floats near their anchors and then moves the floats to the bottom or top of the current page, or to one of the following pages according to the availability of space similar to footnotes. The FFTS positions floats, for example, images, tables, text boxes, pull-outs, etc., in proximity to the anchor and ensures that grouped elements such as captions for the floats, if any, appear immediately before or after the floats, and that the captions are not widowed or orphaned. The FFTS handles the grouped elements comprising, for example, a float and a caption associated with the float in the reversible file format at a position assigned in the marked-up content of the first file format to the float.
[0036] The file format transformation system (FFTS) declares uniform resource locater (URL) breaks to a paging engine. The FFTS couples expressions such as footnotes to page breaks. The page break breaks a web page into a predefined length and delivers cut pages, while ensuring headings and words at the beginning and end paragraphs are not widowed or orphaned. The FFTS introduces page breaks when a script cookie cuts the fluid page to a reference dimension. The FFTS introduces a page break tag, for example, <div data-ph5=wspbr> to the appropriate line break. The FFTS initially positions footnotes next to the corresponding citations. The FFTS moves the footnotes to the footer section of the page after introduction of the page breaks. The FFTS tags the footnotes, for example, as <div data-ph5=footnote>, where the first footnote comprises an additional class called firstFootnote and the rest of the footnotes comprise an additional class called notFirstFootnote. The FFTS numbers the footnotes and positions the footnotes at the bottom of the relevant page.
[0037] The file format transformation system (FFTS) inserts page numbers, a header, a footer, a footnote ruler, fillers, etc., or any combination thereof in one or more pages in the reversible second file format. The FFTS inserts page number tags, for example, <div data-ph5=page-number> in the line breaks. The FFTS inserts page numbers on the pages based on a predefined numbering style. The FFTS inserts the footnote ruler, for example, as a horizontal line to separate running text and the footnotes. The FFTS tags the footnote ruler, for example, as <div data-ph5=footNoteRuler>. The FFTS allows the footnote ruler to be tweaked on and off in the cut pages. For fixed page rendering, the FFTS uses filler compensation for eliminating orphans, widows, and divorce between couples, for example, section heading and paragraph, figure and table, table heading and table, etc. The FFTS represents the fillers, for example, as <span data-ph5=fillerText>. The FFTS automatically deploys fillers, for example, line spaces, if needed, to fill to a page to increase aesthetics.
[0038] The file format transformation system (FFTS) renders 115 the grouped marked-up content with the inserted pagination elements in the reversible file format. The FFTS compiles and positions the reflown marked-up content and the pagination elements with associated properties at predetermined context based positions across multiple pages based on page dimensions and the appended tags. The FFTS performs hyphenation and justification in the rendered marked-up content in the reversible second file format to provide kerning based on aesthetics, for example, for avoidance of loose lines and blank rivers. The reversible second file format allows the marked-up content to be reversed to the first file format to restore the continuous page. The rendered marked-up content in the reversible second file format is accessible on one or more multiple browsers on multiple operating systems. The fixed page in the reversible file format to which the marked-up content in the first file format is transformed is expressed, for example, as a pixel dimension equivalent of a paper size or a device size. The data model of the reversible file format, for example, referred to as the PH5 format transforms a fluid page, for example, in a hypertext markup language (HTML) format to a fixed page, for example, in the reversible file format or the PH5 format, where the transformation is reversible. That is, the FFTS interprets a fluid page and delivers a fixed page. The tagged input allows the transformation of a fluid page to a fixed page. The enriched inheritance comprises page breaks. The other elements are defined in terms of the page breaks. The extension of the fixed page in the PH5 format is, for example, .PH5. The FFTS bridges fluid web-content and fixed-page typesetting, originating as a fluid HTML, without a reference printer at the destination. The PH5 format is similar, for example, to a zip file format such as an electronic publication (ePub) format and can be opened in a common browser on any operating system in a fixed page view. A PH5 file can be back-transformed into a standard hypertext markup language (HTML) file from which the PH5 file was generated with the fluidity of the HTML file restored.
[0039] In the PH5 data model, the file format transformation system (FFTS) performs document intelligence tagging. Tagging the spaces or blanks effects visible content for emulation and standardization. In the PH5 file format, line break candidates are identified and marked up as page breaks. With this method, implicit statements in the document are understood and tagged for downstream machine reading or paging. The transformation from a fluid file format to the reversible file format, that is, the PH5 file format is accomplished subject to the availability of a tag set that exposes an understanding of document semantics to scripts that generate the PH5 package. Creation of the tag set allows creation of a fixed page view that captures document elements that are expressed relationally and that are then assigned page-and-context-appropriate placement and styling. A PH5 file, as a portable document, anticipates the tag set in a work queue and defines a standard for creating the same. The PH5 files do not need reference printers, driver installations, configuration of printer settings, etc., and also do not need a reader application or a browser plug-in. Furthermore, the PH5 files allow offline storage of information.
[0040]
[0041] The file format transformation system (FFTS) further introduces a page break tag <div data-ph5=wspbr> next to an appropriate line break with reference to dimensions of the page. The FFTS inserts a page number tag <div data-ph5=page-number> at the bottom of the page. The FFTS positions any available footnotes proximate to a respective citation and once the page breaks are introduced, the FFTS tags the footnotes <div data-ph5=footnote> and positions the footnotes at the bottom of the page. The FFTS places an additional class tag after the first footnote firstFootnote and tags the following footnotes with an additional tag notFirstFootnote to differentiate between the first footnote and the following footnotes. The FFTS system introduces a horizontal line to separate the main content from the footnote matter and tags the horizontal line as <div data-ph5=footNoteRuler>. The FFTS tags floats, for example,
[0042] The file format transformation system (FFTS) performs PH5 tag recognition for automated browser based pagination and generates output pages 202. The FFTS recognizes the PH5 format tags appended in the PH5 tagged hypertext markup language (HTML) page 201. As exemplarily illustrated in
[0043] The file format transformation system (FFTS) then proceeds to the next section after the page break tag, proxies
[0044]
[0045] After tagging, the file format transformation system (FFTS) iteratively processes the generated tags and identifies, for each of the identified spaces and the identified block elements, one or more pagination elements in the reflown HTML content. In this example, the FFTS identifies pagination elements such as line breaks, floats, and footnotes as exemplarily illustrated in
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
<div class=ce_section id=sec0005 name=OPT_ID_294><div class=sectionline_opt name=PC_5897104232 id=PC_5897104232><span class=ce_label name=OPT_ID_295>1</span><span class=x> </span><span class=ce_section-title name=OPT_ID_296>Introducti<span data-request-id=1 class=cursor></span>on</span></div><div class=ce_para id=par0020 name=OPT_ID_297>Neurotrophins are a family of growth factors that regulate neuronal survival, growth, and differentiation in the central nervous system <a title=bib0005 class=ce_cross-ref name=OPT_ID_298 id=OPT_ID_298>[1]</a>. Four identified neurotrophic factors including nerve growth factor, brain-derived neurotrophic factor (BDNF), neurotrophin-3, and neurotrophin-4 exert their effects through binding to two different receptors, the tropomyosin-related kinase (Trk) receptor and the p75 neurotrophin receptor. All proneurotrophins are capable of binding to the p75 receptor; however, three Trk receptors, TrkA, TrkB, and TrkC, bind only to mature NGF, BDNF or NT-4, and NT-3, respectively <a title=bib0010 class=ce_cross-ref name=OPT_ID_299 id=OPT_ID_299>[2]</a>.</div><div class=ce_para id=par0025 name=OPT_ID_300>BDNF is the most abundant neurotrophin in the brain and is essential for synaptic plasticity involved in long-term potentiation (LTP) and learning and memory formation <a title=bib0015 class=ce_cross-ref name=OPT_ID_301 id=OPT_ID_301>[3]</a>. Hippocampus-specific BDNF gene knockout or knockdown in rodents results in cognitive impairment in behavioral tests <a title=bib0020 class=ce_cross-refs name=OPT_ID_302 id=OPT_ID_302>[4,5]</a>. Moreover, BDNF has neuroprotective effects against diverse neurotoxic insults and neurodegenerative disease models, including Alzheimer<span class=pc_cpereplace name=cpe_id_92><span class=cpedel name=cpe_id_92><span name=OPT_ID_303></span></span><span class=cpeins name=cpe_id_92><span name=OPT_ID_304></span><span class=unicode-char></span></span></span>s disease (AD)<a title=bib0030 class=ce_cross-refs name=OPT_ID_305 id=OPT_ID_305>[6,7]</a>.</div><div class=ce_para id=par0030 name=OPT_ID_306>AD is a common neurodegenerative disease characterized by progressive cognitive deficits, and the accumulation of aggregated amyloid-beta (A<span class=unicode-char 4</span>) peptide and intracellular neurofibrillary tangles which are composed of hyperphosphorylated tau protein <a title=bib0040 class=ce_cross-ref name=OPT_ID_307 id=OPT_ID_307>[8]</a>. A<span class=unicode-char </span> peptide, a key mediator of AD pathology, is produced after sequential cleavage of the amyloid precursor protein by beta- and gamma-secretases and subsequent aggregation into amyloid fibrils, known to be a major component of senile plaques <a title=bib0045 class=ce_cross-ref name=OPT_ID_308 id=OPT_ID_308>[9]</a>. Aggregated A<span class=unicode-char </span> peptide including both oligomeric and fibrillar species induces neuronal cell death <span class=ce_italic name=OPT_ID_309>in vitro</span> and <span class=ce_italic name=OPT_ID_310>in vivo</span><a title=bib0050 class=ce_cross-ref name=OPT_ID_311 id=OPT_ID_311>[10]</a>.</div><div class=ce_para id=par0035 name=OPT_ID_312>Neuronal functions and their involvement in AD have drawn considerable attention to BDNF as a therapeutic target for AD treatment. However, recombinant BDNF itself has poor pharmacokinetic properties<span class=cpeins name=cpe_id_94><span name=OPT_ID_313></span>,</span> such as a short <span class=ce_italic name=OPT_ID_314>in vivo</span>half-life, low blood<span class=pc_cpereplace name=cpe_id_95><span class=cpeder name= cpe_id_95><span name=OPT_ID_315></span>-</span><span class=cpeins name=cpe_id_95><span name=OPT_ID_316></span><span class=unicode-char>-</span></span></span>brain barrier penetrability, and limited diffusion <a title=bib0055 class=ce_cross-ref name=OPT_ID_317 id=OPT_ID_317>[11]</a>. Thus, a variety of strategies for restoring endogenous BDNF levels and functions are currently under development, such as BDNF gene therapy, BDNF-releasing cell grafts, BDNF mimetics, and the use of small molecules that regulate endogenous BDNF levels <a title=bib0060 class=ce_cross-ref name=OPT_ID_318 id=OPT_ID_318>[12]</a>. Recently, Nagahara et al. have shown that BDNF gene delivery or direct BDNF infusion restores spatial learning and memory deficits in an AD mouse model and in aged rats, respectively <a title=bib0030 class=ce_cross-ref name=OPT_ID_319 id=OPT_ID_319>[6]</a>.</div><div class=ce_para id=par0040 name=OPT_ID_320>In a previous study, we screened and identified a BDNF-modulating peptide (Neuropep-1, Met<span class=pc_cpereplace name=cpe_id_97><span class=cpedel name=cpe_id_97><span name=OPT_ID_321></span>-Val-</span><span class=cpeins name=cpe_id_97><span name=OPT_ID_322></span><span class=unicode-char>-</span>Val<span class=unicode-char>-</span></span></span>Gly) by a positional scanning<span class=pc_cpereplace name=cpe_id_99><span class=cpeder name= cpe_id_99><span name=OPT_ID_323></span>-</span><span class=cpeins name=cpe_id_99><span name=OPT_ID_324></span><span class=unicode-char>-</span></span></span>synthetic peptide combinatorial library (PS<span class=pc_cpereplace name=cpe_id_101><span class=cpedel name=cpe_id_101><span name=OPT_ID_325></span>-</span><span class=cpeins name=cpe_id_101><span name=OPT_ID_326></span><span class=unicode-char>-</span></span></span>SPCL). This novel peptide was found to protect neurons against A<span class=unicode-char</span>-induced neuronal cell death and improves spatial learning and memory performance in na<span class=unicode-char></span>ve rats and a triple-transgenic AD mouse model <a title=bib0065 class=ce_cross-refs name=OPT_ID_327 id=OPT_ID_327>[13,14]</a>. In this study, we modified and synthesized novel peptides based on our previous PS<span class=pc_cpereplace name=cpe_id_103><span class=cpedel name=cpe_id_103><span name=OPT_ID_328></span>-</span><span class=cpeins name=cpe_id_103><span name=OPT_ID_329></span><span class=unicode-char>-</span></span></span>SPCL data to identify a BDNF-modulating peptide more potent than Neuropep-1, and examined its protective effects against A<span class=unicode-char></span>-induced neuronal cell death. Among the identified BDNF-modulating peptides, Neuropep-4, which has aspartic acid substituted for valine at the second position of Neuropep-1, was found to be highly effective in inducing BDNF expression even at 100-fold lower concentrations in the SH<span class=pc_cpereplace name=cpe_id_105><span class=cpedel name=cpe_id_105><span name=OPT_ID_330></span>-</span><span class=cpeins name=cpe_id_105><span name=OPT_ID_331></span><span class=unicode-char>-</span></span></span>SY5Y cell line. In addition, Neuropep-4 regulated BDNF expression in rat primary cortical neurons and provided neurons with the strongest protection against oligomeric and fibrillar A<span class=unicode-char></span><span class=ce_inf name=OPT_ID_332>1-42</span>-induced cell death through BDNF upregulation compared to other peptides. These findings suggest that this novel peptide, Neuropep-4, has therapeutic potential for the treatment of AD.</div></div>
[0052]
[0053] <div class=wrapper-page clearfix><div class=page clearfix style=height: 990px; position: relative;><div class=page-header><div class=left-header journal-logo><img src=http://s3.amazonaws.com/pgc-dev-test/cover_images/elsevier/HLY/HLY_Thumbnail.png></div><div class=right-header><span class=article-no>Article No </span></div></div><div class=content top-space-none><div class=head top-space-none id=head1 name=OPT_ID_161><div class=ce_abstract top-space-none id=abs0010 name=OPT_ID_256><div class=ce_abstract-sec top-space-none id=abst0010 name=OPT_ID_258><span class=ce_simple-para top-space-none id=spar0025 name=OPT_ID_259>va-line<span class=ws></span>in<span class=ws></span>the<span class=ws></span>sec-ond<span class=ws></span>po-si-tion<span class=ws></span>with<span class=ws></span>as-par-tic<span class=ws></span>acid,<span class=ws></span>the<span class=ws></span>re-sult-ing<span class=ws></span>Neu-ropep-4<span class=ws></span>was<span class=wsbr></span>found<span class=ws></span>to<span class=ws></span>be<span class=ws></span>highly<span class=ws></span>ef-fec-tive<span class=ws></span>in<span class=ws></span>in-duc-ing<span class=ws></span>BDNF<span class=ws></span>ex-pres-sion<span class=ws></span>even<span class=ws></span>at<span class=ws></span>con-cen-tra-tions<span class=wsbr></span>of<span class=ws></span>1<span class=ce_hsp name=OPT_ID_275> </span>pM<span class=ws></span>in<span class=ws></span>the<span class=ws></span>SH<span class=pc_cpereplace name=cpe_id_89><span class=cpedel hideme name=cpe_id_89><span name=OPT_ID_276></span>-</span><span class=cpeins name=cpe_id_89><span name=OPT_ID_277></span><span class=unicode-char>-</span></span></span>SY5Y<span class=ws></span>cell<span class=ws></span>line<span class=ws></span>and<span class=ws></span>rat<span class=ws></span>pri-mary<span class=ws></span>cor-ti-cal<span class=ws></span>neu-rons.<span class=ws></span>In<span class=ws></span>ad-di-tion,<span class=wsbr></span>among<span class=ws></span>the<span class=ws></span>tested<span class=ws></span>pep-tides,<span class=ws></span>Neu-ropep-4<span class=ws></span>pro-vided<span class=ws></span>neu-rons<span class=ws></span>with<span class=ws></span>the<span class=ws></span>strongest<span class=wshbr></span>pro-tec-tion<span class=ws></span>against<span class=ws></span>oligomeric<span class=ws></span>and/or<span class=ws></span>fib-ril-lar<span class=ws></span>A<span class=unicode-char4</span><span class=ce_inf name=OPT_ID_278>1-42</span>-in-duced<span class=ws></span>cell<span class=ws></span>death<span class=ws></span>through<span class=ws></span>BDNF<span class=wsbr></span>up-reg-u-la-tion.<span class=ws></span>These<span class=ws></span>re-sults<span class=ws></span>sug-gest<span class=ws></span>the<span class=ws></span>po-ten-tial<span class=ws></span>of<span class=ws></span>Neu-ropep-4<span class=ws></span>as<span class=ws></span>a<span class=ws></span>ther-a-peu-tic<span class=wsbr></span>can-di-date<span class=ws></span>for<span class=ws></span>treat-ing<span class=ws></span>neu-rode-gen-er-a-tive<span class=ws></span>dis-eases<span class=cpeins name=cpe_id_91><span name=OPT_ID_279></span>,</span><span class=ws></span>such<span class=ws></span>as<span class=ws last-word></span>AD.</span><div class=wsp></div></div></div><div class=ce_keywords name=OPT_ID_280 id=OPT_ID_280><span class=ce_section-title name=OPT_ID_281>Keywords<span class=x>: </span></span><span class=ce_keyword name=OPT_ID_282><span class=ce_text name=OPT_ID_283>Brain-de-rived<span class=ws></span>neu-rotrophic<span class=ws></span>fac-tor</span><span class=x>; </span></span><span class=ce_keyword name=OPT_ID_284><span class=ce_text name=OPT_ID_285>Alzheimer<span class=unicode-char></span>s<span class=ws last-word></span>disease</span><span class=x>; </span></span><span class=ce_keyword name=OPT_ID_286><span class=ce_text name=OPT_ID_287>Amy-loid-beta</span><span class=x>; </span></span><span class=ce_keyword name=OPT_ID_288><span class=ce_text name=OPT_ID_289>Neu-ro-pro-tec-tion</span><span class=x>; </span></span><span class=ce_keyword name=OPT_ID_290><span class=ce_text name=OPT_ID_291>Pep-tide</span></span><div class=wsp></div></div></div><div class=ce_sections name=OPT_ID_293 id=OPT_ID_293><div class=ce_section id=sec0005 name=OPT_ID_294><div class=sectionline_opt first_level_heading name=PC_5897104232 id=PC_5897104232><span class=ce_label name=OPT_ID_295>1</span><span class=x> </span><span class=ce_section-title name=OPT_ID_296>Introduction</span></div><div class=ce_para id=par0020 name=OPT_ID_297>Neu-rotrophins<span class=ws></span>are<span class=ws></span>a<span class=ws></span>fam-ily<span class=ws></span>of<span class=ws></span>growth<span class=ws></span>fac-tors<span class=ws></span>that<span class=ws></span>reg-u-late<span class=ws></span>neu-ronal<span class=ws></span>sur-vival,<span class=wsbr></span>growth,<span class=ws></span>and<span class=ws></span>dif-fer-en-ti-a-tion<span class=ws></span>in<span class=ws></span>the<span class=ws></span>cen-tral<span class=ws></span>ner-vous<span class=ws></span>sys-tem<span class=ws></span><a title=bib0005 class=ce_cross-ref name=OPT_ID_298 id=OPT_ID_298>[1]</a>.<span class=ws></span>Four<span class=ws></span>iden-ti-fied<span class=wshbr></span>neu-rotrophic<span class=ws></span>fac-tors<span class=ws></span>in-clud-ing<span class=ws></span>nerve<span class=ws></span>growth<span class=ws></span>fac-tor,<span class=ws></span>brain-de-rived<span class=ws></span>neu-rotrophic<span class=ws></span>fac-tor<span class=wsbr></span>(BDNF),<span class=ws></span>neu-rotrophin-3,<span class=ws></span>and<span class=ws></span>neu-rotrophin-4<span class=ws></span>ex-ert<span class=ws></span>their<span class=ws></span>ef-fects<span class=ws></span>through<span class=ws></span>bind-ing<span class=ws></span>to<span class=wsbr></span>two<span class=ws></span>dif-fer-ent<span class=ws></span>re-cep-tors,<span class=ws></span>the<span class=ws></span>tropomyosin-re-lated<span class=ws></span>ki-nase<span class=ws></span>(Trk)<span class=ws></span>re-cep-tor<span class=ws></span>and<span class=ws></span>the<span class=ws></span>p75<span class=wsbr></span>neu-rotrophin<span class=ws></span>re-cep-tor.<span class=ws></span>A11<span class=ws></span>proneu-rotrophins<span class=ws></span>are<span class=ws></span>ca-pa-ble<span class=ws></span>of<span class=ws></span>bind-ing<span class=ws></span>to<span class=ws></span>the<span class=ws></span>p75<span class=wshbr></span>re-cep-tor;<span class=ws></span>how-ever,<span class=ws></span>three<span class=ws></span>Trk<span class=ws></span>re-cep-tors,<span class=ws></span>TrkA,<span class=ws></span>TrkB,<span class=ws></span>and<span class=ws></span>TrkC,<span class=ws></span>bind<span class=ws></span>only<span class=ws></span>to<span class=ws></span>ma-ture<span class=wsbr></span>NGF,<span class=ws></span>BDNF<span class=ws></span>or<span class=ws></span>NT-4,<span class=ws></span>and<span class=ws></span>NT-3,<span class=ws></span>re-spec-tively<span class=ws last-word></span><a title=bib0010 class=ce_cross-ref name=OPT_ID_299 id=OPT_ID_299>[2]</a>.<div class=wsp></div></div><div class=ce_para id=par0025 name=OPT_ID_300>BDNF<span class=ws></span>is<span class=ws></span>the<span class=ws></span>most<span class=ws></span>abun-dant<span class=ws></span>neu-rotrophin<span class=ws></span>in<span class=ws></span>the<span class=ws></span>brain<span class=ws></span>and<span class=ws></span>is<span class=ws></span>es-sen-tial<span class=ws></span>for<span class=ws></span>synap-tic<span class=wsbr></span>plas-tic-ity<span class=ws></span>in-volved<span class=ws></span>in<span class=ws></span>long-term<span class=ws></span>po-ten-ti-a-tion<span class=ws></span>(LTP)<span class=ws></span>and<span class=ws></span>learn-ing<span class=ws></span>and<span class=ws></span>mem-ory<span class=wshbr></span>for-ma-tion<span class=ws></span><a title=bib0015 class=ce_cross-ref name=OPT_ID_301 id=OPT_ID_301>[3]</a>.<span class=ws></span>Hip-pocam-pus-spe-cific<span class=ws></span>BDNF<span class=ws></span>gene<span class=ws></span>knock-out<span class=ws></span>or<span class=ws></span>knock-down<span class=ws></span>in<span class=ws></span>ro-dents<span class=wsbr></span>re-sults<span class=ws></span>in<span class=ws></span>cog-ni-tive<span class=ws></span>im-pair-ment<span class=ws></span>in<span class=ws></span>be-hav-ioral<span class=ws></span>tests<span class=ws></span><a title=bib0020 class=ce_cross-refs name=OPT_ID_302 id=OPT_ID_302>[4,5]</a>.<span class=ws></span>More-over,<span class=ws></span>BDNF<span class=ws></span>has<span class=wsbr></span>neu-ro-pro-tec-tive<span class=ws></span>ef-fects<span class=ws></span>against<span class=ws></span>di-verse<span class=ws></span>neu-ro-toxic<span class=ws></span>in-sults<span class=ws></span>and<span class=ws></span>neu-rode-gen-er-a-tive<span class=wsbr></span>dis-ease<span class=ws></span>mod-els,<span class=ws></span>in-clud-ing<span class=ws></span>Alzheimer<span class=pc_cpereplace name=cpe_id_92><span class=cpedel hideme name=cpe_id_92><span name=OPT_ID_303></span></span><span class=cpeins name=cpe_id_92><span name=OPT_ID_304></span><span class=unicode-char></span></span></span>s<span class=ws></span>dis-ease<span class=ws></span>(AD)<span class=ws last-word></span><a title=bib0030 class=ce_cross-refs name=OPT_ID_305 id=OPT_ID_305>[6,7]</a>.<div class=wsp></div></div><div class=ce_para id=par0030 name=OPT_ID_306>AD<span class=ws></span>is<span class=ws></span>a<span class=ws></span>com-mon<span class=ws></span>neu-rode-gen-er-a-tive<span class=ws></span>dis-ease<span class=ws></span>char-ac-ter-ized<span class=ws></span>by<span class=ws></span>pro-gres-sive<span class=wshbr></span>cog-ni-tive<span class=ws></span>deficits,<span class=ws></span>and<span class=ws></span>the<span class=ws></span>ac-cu-mu-la-tion<span class=ws></span>of<span class=ws></span>ag-gre-gated<span class=ws></span>amy-loid-beta<span class=ws></span>(A<span class=unicode-char></span>)<span class=ws></span>pep-tide<span class=ws></span>and<span class=wsbr></span>in-tra-cel-lu-lar<span class=ws></span>neu-rofib-ril-lary<span class=ws></span>tan-gles<span class=ws></span>which<span class=ws></span>are<span class=ws></span>com-posed<span class=ws></span>of<span class=ws></span>hy-per-phos-pho-ry-lated<span class=wsbr></span>tau<span class=ws></span>pro-tein<span class=ws></span><a title=bib0040 class=ce_cross-ref name=OPT_ID_307 id=OPT_ID_307>[8]</a>.<span class=ws></span>A<span class=unicode-char></span><span class=ws></span>pep-tide,<span class=ws></span>a<span class=ws></span>key<span class=ws></span>me-di-a-tor<span class=ws></span>of<span class=ws></span>AD<span class=ws></span>pathol-ogy,<span class=ws></span>is<span class=ws></span>pro-duced<span class=ws></span>af-ter<span class=wshbr></span>se-quen-tial<span class=ws></span>cleav-age<span class=ws></span>of<span class=ws></span>the<span class=ws></span>amy-loid<span class=ws></span>pre-cur-sor<span class=ws></span>pro-tein<span class=ws></span>by<span class=ws></span>beta-<span class=ws></span>and<span class=ws></span>gamma-sec-re-tases<span class=wsbr></span>and<span class=ws></span>sub-se-quent<span class=ws></span>ag-gre-ga-tion<span class=ws></span>into<span class=ws></span>amy-loid<span class=ws></span>fib-rils,<span class=ws></span>known<span class=ws></span>to<span class=ws></span>be<span class=ws></span>a<span class=ws></span>ma-jor<span class=ws></span>com-po-nent<span class=wsbr></span>of<span class=ws></span>se-nile<span class=ws></span>plaques<span class=ws></span><a title=bib0045 class=ce_cross-ref name=OPT_ID_308 id=OPT_ID_308>[9]</a>.<span class=ws></span>Ag-gre-gated<span class=ws></span>A<span class=unicode-char></span><span class=ws></span>pep-tide<span class=ws></span>in-clud-ing<span class=ws></span>both<span class=ws></span>oligomeric<span class=ws></span>and<span class=wshbr></span>fib-ril-lar<span class=ws></span>species<span class=ws></span>in-duces<span class=ws></span>neu-ronal<span class=ws></span>cell<span class=ws></span>death<span class=ws></span><span class=ce_italic name=OPT_ID_309>in<span class=ws></span>vitro</span><span class=ws></span>and<span class=ws></span><span class=ce_italic name=OPT_ID_310>in<span class=ws></span>vivo</span><span class=ws last-word></span><a title=bib0050 class=ce_cross-ref name=OPT_ID_311 id=OPT_ID_311>[10]</a>.<div class=wsp></div></div><div class=ce_para id=par0035 name=OPT_ID_312>Neu-ronal<span class=ws></span>func-tions<span class=ws></span>and<span class=ws></span>their<span class=ws></span>in-volve-ment<span class=ws></span>in<span class=ws></span>AD<span class=ws></span>have<span class=ws></span>drawn<span class=ws></span>con-sid-er-able<span class=wshbr></span>at-ten-tion<span class=ws></span>to<span class=ws></span>BDNF<span class=ws></span>as<span class=ws></span>a<span class=ws></span>ther-a-peu-tic<span class=ws></span>tar-get<span class=ws></span>for<span class=ws></span>AD<span class=ws></span>treat-ment.<span class=ws></span>How-ever,<span class=ws></span>re-com-bi-nant<span class=wsbr></span>BDNF<span class=ws></span>it-self<span class=ws></span>has<span class=ws></span>poor<span class=ws></span>phar-ma-co-ki-netic<span class=ws></span>prop-er-ties<span class=cpeins name=cpe_id_94><span name=OPT_ID_313></span>,</span><span class=ws></span>such<span class=ws></span>as<span class=ws></span>a<span class=ws></span>short<span class=ws></span><span class=ce_italic name=OPT_ID_314>in<span class=ws></span>vivo</span><span class=ws></span>half-life,<span class=wsbr></span>low<span class=ws></span>blood<span class=pc_cpereplace name=cpe_id_95><span class=cpedel hideme name=cpe_id_95><span name=OPT_ID_315></span>-</span><span class=cpeins name=cpe_id_95><span name=OPT_ID_316></span><span class=unicode-char>-</span></span></span>brain<span class=ws></span>bar-rier<span class=ws></span>pen-e-tra-bil-ity,<span class=ws></span>and<span class=ws></span>lim-ited<span class=ws></span>dif-fu-sion<span class=ws></span><a title=bib0055 class=ce_cross-ref name=OPT_ID_317 id=OPT_ID_317>[11]</a>.<span class=ws></span>Thus,<span class=ws></span>a<span class=ws></span>va-ri-ety<span class=ws></span>of<span class=fillerText></span></div></div></div></div><div class=footer-wrapper bottom-footer-wrapper><div class=footnote-wrapper></div><div class=top-ruler></div><div class=pane-content><div class=left-pane-content page-number>2</div><div class=center-pane-content><span class=doi>http://dx.doi.org/10.1016/j.neulet.2013.11.020</span><span class=copyright>1060-3743/@2013 The Authors. Published by Elsevier Limited.</span><span class=cc-license>This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).</span></div><div class=right-pane-content></div></div></div></div></div>
[0054] The file format transformation system (FFTS) transforms the input hypertext markup language (HTML) page exemplarily illustrated in
[0055]
[0056] The system 500 disclosed herein comprises a non-transitory computer readable storage medium such as a memory unit, and at least one processor communicatively coupled to the non-transitory computer readable storage medium on the client device 501. As used herein, non-transitory computer readable storage medium refers to all computer readable media, for example, non-volatile media such as optical discs or magnetic disks, volatile media such as a register memory, a processor cache, etc., and transmission media such as wires that constitute a system bus coupled to the processor, except for a transitory, propagating signal. The non-transitory computer readable storage medium stores computer program instructions defined by modules, for example, 502a, 502b, 502c, 502d, 502e, 502f, etc., of the FFTS 502. The processor is configured to execute the defined computer program instructions.
[0057] The file format transformation system (FFTS) 502 further comprises a content reception module 502a, a content reflow module 502b, a space and block identification module 502c, a tagging module 502d, a pagination element processing module 502e, and a compiler 502f. The content reception module 502a receives the marked-up content of the first file format, for example, the hypertext markup language (HTML) format. An example of a pseudocode of the content reception module 502a executed to receive the marked-up content of the first file format is provided below:
TABLE-US-00001 function receiveContent(self, container, source) { var innerContainer = null, paginator = null; var content = null; generateContentContainer(self, container); paginator = domHelper.create(div); paginator.classList.add(paginator); domHelper.append(paginator, container); content = source; content = insertSoftHyphensForAllWords(content); innerContainer = self.domHelper.find(container, .paginator); innerContainer.innerHTML = source; }
[0058] The content reflow module 502b reflows the received marked-up content of the first file format into a continuous page having a configurable page width. An example of a pseudocode of the content reflow module 502b executed to reflow the received marked-up hypertext markup language (HTML) content is provided below:
TABLE-US-00002 var options = { options: { page: { height: 262, width: 192, unit: mm } } } function reflowContent(options) { var width = [ width, :, self.options.page.width, self.options.page.unit ].join(); self.domHelper.addOrModifyAttribute(style, width, target); }
[0059] The space and block identification module 502c identifies spaces and block elements in the reflown marked-up content of the first file format. An example of a pseudocode of the space and block identification module 502c executed to identify and tag spaces and block elements in the reflown marked-up hypertext markup language (HTML) content is provided below:
TABLE-US-00003 function putSpanForWordSpace(self, content) { var ws = self.ws; content.find(*:visible).contents( ).filter(function ( ) { var value = ; if (this.nodeType === 3) { value = this.nodeValue; if (value.indexOf( ) !== 1) { return true; } } return false; }) .replaceWith(function ( ) { var str = , spaces = [ ], replacedStr = , dummy = null, finalstr = ; str = jQ(this).text( ); dummy = jQ(<div></div>); finalstr = dummy.text(str).html( ); spaces = finalstr.split( ); replacedStr = spaces join(<span data-ph5=ws> </span>); return replacedStr; }); } function identifyBlockElements(content) { visibleDivs = content.find(div:visible); length = visibleDivs.length; for (; i < length; i += 1) { visibleDiv = jQ(visibleDivs[i]); if (visibleDiv.css(display) !== inline) { visibleDiv.append(<div data-ph5=wsp></div>); } } }
[0060] The tagging module 502d generates and appends tags to the identified spaces and the identified block elements in the reflown marked-up content of the first file format. For each of the identified spaces and the identified block elements, the pagination element processing module 502e determines line breaks in the reflown marked-up content of the first file format based on preconfigured criteria associated with the appended tags. The tagging module 502d tags the determined line breaks. An example of the pseudocode of the pagination element processing module 502e executed to determine the line breaks is provided below:
TABLE-US-00004 function determineLineBreaks( ) { paginationElements = content.find(span.ws,span.shy,div.wsp); length = paginationElements.length; for (; i < length; i += 1) { linebreak = false; curElement = jQ(paginationElements[i]); if ((curElement.class(ws) == true) && (curElement.width( ) == 0)) { linebreak = true; } else if ((curElement.class(shy) == true) && (curElement.width( ) == 1)) { linebreak = true; } else if (curElement.class(wsp) == true) { linebreak = true; } if (linebreak == true) { introduceLineBreak( ); } } }
[0061] For each of the determined line breaks, the pagination element processing module 502e identifies anchored floats in the reflown marked-up content of the first file format. The tagging module 502d tags the identified anchored floats. Further, for each of the determined line breaks, the pagination element processing module 502e positions the tagged anchored floats on a current page based on availability of space for the tagged anchored floats on the current page. The pagination element processing module 502e positions the tagged anchored floats proximal to associated float citations on the current page based on the availability of space for the tagged anchored floats on the current page. An example of a pseudocode of the pagination element processing module 502e executed to position anchored floats in the output hypertext markup language (HTML) document is provided below:
TABLE-US-00005 if (lbr.hasClass(float-anchor) === true) { // if a line has float anchor floatHeight = getFloatHeight(floatItem); if (currentFilledHeight + floatHeight < pageHeight) { pushFloatToCurrentPage(floatItem); currentFilledHeight = currentFilledHeight + floatHeight; } else { pushFloatToNextAvailablePage(floatItem); } }
[0062] Further, for each of the determined line breaks, the pagination element processing module 502e identifies footnotes in the reflown marked-up content of the first file format. The tagging module 502d tags the identified footnotes. Further, for each of the determined line breaks, the pagination element processing module 502e positions the tagged footnotes at a footnote section on the current page based on availability of space for the tagged footnotes on the current page. The pagination element processing module 502e positions the tagged footnotes proximal to associated footnote citations on the current page based on the availability of space for the tagged footnotes on the current page. An example of a pseudocode of the pagination element processing module 502e executed to position footnotes in the output hypertext markup language (HTML) document is provided below:
TABLE-US-00006 if (lbr.hasClass(footnote) === true) { // if a line has footnote footnoteHeight = getFootnoteHeight(footnoteItem); if (currentFilledHeight + footnoteHeight < pageHeight) { pushFootnoteToCurrentPage(footnoteItem); currentFilledHeight = currentFilledHeight + footnoteHeight; } else { pushCurrentLineAndRelatedFootnotesToNextPage( ); } }
[0063] Further, the pagination element processing module 502e positions page breaks in the continuous page based on a configurable page height and the determined line breaks for the positioning of the tagged anchored floats and the tagged footnotes on a subsequent page on non-availability of space on the current page. An example of a pseudocode of the pagination element processing module 502e executed to create pages in the output hypertext markup language (HTML) document is provided below:
TABLE-US-00007 var wordSpaces = $(document.body).find(span.ws,div.wsp); for(var i=0; i < wordSpaces.length; i++) { var ws = wordSpaces.eq(i); if(ws.width( ) == 0 ws.attr(class) == wsp) { // its a line break var y = ws.offset( ).top; if(y-ydef > px) { pageSize.push(y-ydef); ydef = y; pageBreak = ws.attr(class,wspbr); } } }
[0064] The compiler 502f groups the marked-up content with the positioned anchored floats and the positioned footnotes on each page. The pagination element processing module 502e inserts one or more pagination elements, for example, page numbers, a header, a footer, a footnote ruler, fillers, etc., on each page containing the grouped marked-up content. The compiler 502f renders the grouped marked-up content with the inserted pagination elements in the reversible second file format. An example of the pseudocode of the compiler 502f executed for performing the steps of grouping and insertion of page numbers is provided below:
TABLE-US-00008 function makePageBlocks( ) { var pageBreaks = content.find(.wspr); var startPage = content.top( ); for(var i=0; i < pageBreaks.length; i++) { endPage = pageBreaks[i]; wrapPageWithNumber(<div class=page + i + >, i, startPage, endPage); startPage = endPage; } }
[0065] The pagination element processing module 502e handles grouped elements comprising, for example, a float and a caption associated with the float in the reversible second file format at a position assigned in the marked-up content of the first file format to the float. If a user wants to revert back to the input marked-up content page, the compiler 502f reverses the marked-up content in the reversible second file format to the first file format to restore the continuous page. An example of the pseudocode of the compiler 502f executed for reversing the PH5 mark-up to the original input (HTML) mark-up is provided below:
TABLE-US-00009 function removePaginationArtifacts( ) { var headerFooter = content.find(.page-header-footer); headerFooter.remove( ); var footnotes = content.find(.footnote); footnotes.moveToEndOfDocument( ); var floats = content.find(.floats); floats.moveAfterCitationPara( ); var paginationElements = content.find(.ws,.shy,.wsp); paginationElements.removeTagsWithContent( ); removeSoftHyphensAndPseudoBreaks( ); }
[0066]
[0067] The memory unit 602 is used for storing computer programs, applications, and data. For example, the content reception module 502a, the content reflow module 502b, the space and block identification module 502c, the tagging module 502d, the pagination element processing module 502e, the compiler 502f, etc., exemplarily illustrated in
[0068] The network interface 604 enables connection of the client device 501 to a network, for example, a short range network or a long range network. The network is, for example, the internet. In an embodiment, the network interface 604 is provided as an interface card also referred to as a line card. The network interface 604 comprises, for example, one or more of an infrared (IR) interface, an interface implementing Wi-Fi of Wi-Fi Alliance Corporation, a universal serial bus (USB) interface, a FireWire interface of Apple Inc., an Ethernet interface, a frame relay interface, a cable interface, a digital subscriber line (DSL) interface, a token ring interface, a peripheral controller interconnect (PCI) interface, a local area network (LAN) interface, a wide area network (WAN) interface, interfaces using serial protocols, interfaces using parallel protocols, Ethernet communication interfaces, asynchronous transfer mode (ATM) interfaces, a high speed serial interface (HSSI), a fiber distributed data interface (FDDI), interfaces based on transmission control protocol (TCP)/internet protocol (IP), interfaces based on wireless communications technology such as satellite technology, radio frequency (RF) technology, near field communication, etc. The data bus 605 permits communications between the modules, for example, 502a, 502b, 502c, 502d, 502e, 502f, etc., of the FFTS 502 exemplarily illustrated in
[0069] The display unit 606, via the graphical user interface (GUI) 401 exemplarily illustrated in
[0070] Computer applications and computer programs are used for operating the file format transformation system (FFTS) 502. The computer programs are loaded onto the fixed media drive 608 and into the memory unit 602 of the client device 501 via the removable media drive 609. In an embodiment, the computer applications and computer programs may be loaded directly via the network. Computer applications and computer programs are executed by double clicking a related icon displayed on the display unit 606 using one of the input devices 607. The output devices 610, for example, a printer outputs the results of operations performed by the FFTS 502. For example, the FFTS 502 renders the transformed output page in the reversible second file format using the output devices 610.
[0071] The processor 601 executes an operating system, for example, the Linux operating system, the Unix operating system, any version of the Microsoft Windows operating system, the Mac OS of Apple Inc., the IBM OS/2, VxWorks of Wind River Systems, Inc., QNX Neutrino developed by QNX Software Systems Ltd., Palm OS, the Solaris operating system developed by Sun Microsystems, Inc., the Android operating system, the Windows Phone operating system of Microsoft Corporation, the BlackBerry operating system of BlackBerry Limited, the iOS operating system of Apple Inc., the Symbian operating system of Symbian Foundation Limited, etc. The file format transformation system (FFTS) 502 employs the operating system for performing multiple tasks. The operating system is responsible for management and coordination of activities and sharing of resources of the client device 501. The operating system further manages security of the FFTS 502, peripheral devices connected to the client device 501, and network connections. The operating system employed on the client device 501 recognizes, for example, inputs provided by the users using one of the input devices 607, the output display, files, and directories stored locally on the fixed media drive 608. The operating system on the client device 501 executes different computer programs using the processor 601. The processor 601 and the operating system together define a computer system for which application programs in high level programming languages are written.
[0072] The processor 601 of the client device 501 retrieves instructions defined by the content reception module 502a, the content reflow module 502b, the space and block identification module 502c, the tagging module 502d, the pagination element processing module 502e, the compiler 502f, etc., for performing respective functions disclosed in the detailed description of
[0073] At the time of execution, the instructions stored in the instruction register are examined to determine the operations to be performed. The processor 601 then performs the specified operations. The operations comprise arithmetic operations and logic operations. The operating system performs multiple routines for performing a number of tasks required to assign the input devices 607, the output devices 610, and memory for execution of the modules, for example, 502a, 502b, 502c, 502d, 502e, 502f, etc., of the file format transformation system (FFTS) 502. The tasks performed by the operating system comprise, for example, assigning memory to the modules, for example, 502a, 502b, 502c, 502d, 502e, 502f, etc., of the FFTS 502, and to data used by the FFTS 502, moving data between the memory unit 602 and disk units, and handling input/output operations. The operating system performs the tasks on request by the operations and after performing the tasks, the operating system transfers the execution control back to the processor 601. The processor 601 continues the execution to obtain one or more outputs. The outputs of the execution of the modules, for example, 502a, 502b, 502c, 502d, 502e, 502f, etc., of the FFTS 502 are displayed to the user on the display unit 606.
[0074] Disclosed herein is also a computer program product comprising a non-transitory computer readable storage medium having embodied thereon, computer program codes comprising instructions executable by at least one processor 601 for transforming marked-up content in a first file format to a reversible second file format. The computer program product comprises a first computer program code for receiving the marked-up content of the first file format; a second computer program code for reflowing the received marked-up content of the first file format into a continuous page having a configurable page width; a third computer program code for identifying spaces and block elements in the reflown marked-up content of the first file format; a fourth computer program code for generating and appending tags to the identified spaces and the identified block elements in the reflown marked-up content of the first file format; a fifth computer program code for determining line breaks in the reflown marked-up content of the first file format based on preconfigured criteria associated with the appended tags; a sixth computer program code for tagging the determined line breaks; a seventh computer program code for identifying anchored floats in the reflown marked-up content of the first file format; an eight computer program code for tagging the identified anchored floats; a ninth computer program code for positioning the tagged anchored floats on a current page based on availability of space for the tagged anchored floats on the current page; a tenth computer program code for identifying footnotes in the reflown marked-up content of the first file format; an eleventh computer program code for tagging the identified footnotes; a twelfth computer program code for positioning the tagged footnotes at a footnote section on the current page based on availability of space for the tagged footnotes on the current page; a thirteenth computer program code for positioning page breaks in the continuous page based on a configurable page height and the determined line breaks for positioning the tagged anchored floats and the tagged footnotes on a subsequent page on non-availability of the space on the current page; a fourteenth computer program code for grouping the marked-up content with the positioned anchored floats and the positioned footnotes on each page; and a fifteenth computer program code for inserting one or more of multiple pagination elements, for example, page numbers, a header, a footer, a footnote ruler, fillers, etc., on each page containing the grouped marked-up content; and a sixteenth computer program code for rendering the grouped marked-up content with the inserted pagination elements in the reversible second file format, where the reversible second file format allows the marked-up content to be reversed to the first file format to restore the continuous page. The ninth computer program code positions the tagged anchored floats proximal to associated float citations on the current page based on the availability of space for the tagged anchored floats on the current page. The twelfth computer program code positions the tagged footnotes proximal to associated footnote citations on the current page based on the availability of space for the tagged footnotes on the current page.
[0075] The computer program product disclosed herein further comprises one or more additional computer program codes for performing additional steps that may be required and contemplated for transforming marked-up content in a first file format to a reversible second file format. In an embodiment, a single piece of computer program code comprising computer executable instructions performs one or more steps of the computer implemented method disclosed herein for transforming marked-up content in a first file format to a reversible second file format. The computer program codes comprising computer executable instructions are embodied on the non-transitory computer readable storage medium. The processor 601 of the client device 501 retrieves these computer executable instructions and executes them. When the computer executable instructions are executed by the processor 601, the computer executable instructions cause the processor 601 to perform the steps of the computer implemented method for transforming marked-up content of a first file format to a reversible second file format.
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083] It will be readily apparent that the various methods, algorithms, and computer programs disclosed herein may be implemented on computer readable media appropriately programmed for computing devices. As used herein, computer readable media refers to non-transitory computer readable media that participate in providing data, for example, instructions that may be read by a computer, a processor or a similar device. Non-transitory computer readable media comprise all computer readable media, for example, non-volatile media, volatile media, and transmission media, except for a transitory, propagating signal. Non-volatile media comprise, for example, optical discs or magnetic disks and other persistent memory volatile media including a dynamic random access memory (DRAM), which typically constitutes a main memory. Volatile media comprise, for example, a register memory, a processor cache, a random access memory (RAM), etc. Transmission media comprise, for example, coaxial cables, copper wire, fiber optic cables, modems, etc., including wires that constitute a system bus coupled to a processor, etc. Common forms of computer readable media comprise, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, a laser disc, a Blu-ray Disc of the Blu-ray Disc Association, any magnetic medium, a compact disc-read only memory (CD-ROM), a digital versatile disc (DVD), any optical medium, a flash memory card, punch cards, paper tape, any other physical medium with patterns of holes, a random access memory (RAM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM), a flash memory, any other memory chip or cartridge, or any other medium from which a computer can read.
[0084] The computer programs that implement the methods and algorithms disclosed herein may be stored and transmitted using a variety of media, for example, the computer readable media in a number of manners. In an embodiment, hard-wired circuitry or custom hardware may be used in place of, or in combination with, software instructions for implementation of the processes of various embodiments. Therefore, the embodiments are not limited to any specific combination of hardware. The computer program codes comprising computer executable instructions may be implemented in any programming language that runs on an internet browser, for example, Chrome of Google Inc., Firefox of Mozilla Foundation, Safari of Apple Inc., Internet Explorer of Microsoft Corporation, etc., on any operating system. The computer program codes or software programs may be stored on or in one or more mediums as object code. Various aspects of the computer implemented method and the file format transformation system (FFTS) 502 disclosed herein may be implemented in a non-programmed environment comprising documents created, for example, in a hypertext markup language (HTML), an extensible markup language (XML), or other format that render aspects of a graphical user interface (GUI) or perform other functions, when viewed in a visual area or a window of a browser program. Various aspects of the computer implemented method and the FFTS 502 disclosed herein may be implemented as programmed elements, or non-programmed elements, or any suitable combination thereof. The computer program product disclosed herein comprises one or more computer program codes for implementing the processes of various embodiments. The computer implemented method and the FFTS 502 disclosed herein are not limited to a particular computer system platform, processor, or operating system.
[0085] The foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the computer implemented method and the file format transformation (FFTS) system 502 disclosed herein. While the computer implemented method and the FFTS 502 have been described with reference to various embodiments, it is understood that the words, which have been used herein, are words of description and illustration, rather than words of limitation. Further, although the computer implemented method and the FFTS 502 have been described herein with reference to particular means, materials, and embodiments, the computer implemented method and the FFTS 502 are not intended to be limited to the particulars disclosed herein; rather, the computer implemented method and the FFTS 502 extend to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims. Those skilled in the art, having the benefit of the teachings of this specification, may effect numerous modifications thereto and changes may be made without departing from the scope and spirit of the computer implemented method and the FFTS 502 disclosed herein in their aspects.