Plugin Directory

Changeset 3138583


Ignore:
Timestamp:
08/21/2024 03:01:04 AM (16 months ago)
Author:
ishitaka
Message:

Update to version 2.14.6 from GitHub

Location:
full-text-search
Files:
2 added
38 edited
1 copied

Legend:

Unmodified
Added
Removed
  • full-text-search/tags/2.14.6/full-text-search.php

    r3079423 r3138583  
    1111 * Plugin URI:        https://xakuro.com/wordpress/
    1212 * Description:       Replaces site search with full-text search.
    13  * Version:           2.14.5
     13 * Version:           2.14.6
    1414 * Requires at least: 5.5
    1515 * Requires PHP:      7.2
     
    2525}
    2626
    27 define( 'FULL_TEXT_SEARCH_VERSION', '2.14.5' );
     27define( 'FULL_TEXT_SEARCH_VERSION', '2.14.6' );
    2828
    2929require_once __DIR__ . '/main.php';
  • full-text-search/tags/2.14.6/readme.txt

    r3079423 r3138583  
    33Tags: full-text search,full-text,search,fulltext,mroonga
    44Requires at least: 5.5
    5 Tested up to: 6.5
     5Tested up to: 6.6
    66Requires PHP: 7.2
    7 Stable tag: 2.14.5
     7Stable tag: 2.14.6
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    5252
    5353== Changelog ==
     54
     55= 2.14.6 =
     56
     57* Updated PDF Parser library to 2.11.0.
    5458
    5559= 2.14.5 =
  • full-text-search/tags/2.14.6/vendor/composer/installed.json

    r3079423 r3138583  
    6868        {
    6969            "name": "smalot/pdfparser",
    70             "version": "v2.10.0",
    71             "version_normalized": "2.10.0.0",
     70            "version": "v2.11.0",
     71            "version_normalized": "2.11.0.0",
    7272            "source": {
    7373                "type": "git",
    7474                "url": "https://github.com/smalot/pdfparser.git",
    75                 "reference": "14adf318f8620a6195c0b00d51c6a507837b9ff4"
     75                "reference": "ac8e6678b0940e4b2ccd5caadd3fb18e68093be6"
    7676            },
    7777            "dist": {
    7878                "type": "zip",
    79                 "url": "https://api.github.com/repos/smalot/pdfparser/zipball/14adf318f8620a6195c0b00d51c6a507837b9ff4",
    80                 "reference": "14adf318f8620a6195c0b00d51c6a507837b9ff4",
     79                "url": "https://api.github.com/repos/smalot/pdfparser/zipball/ac8e6678b0940e4b2ccd5caadd3fb18e68093be6",
     80                "reference": "ac8e6678b0940e4b2ccd5caadd3fb18e68093be6",
    8181                "shasum": ""
    8282            },
     
    8787                "symfony/polyfill-mbstring": "^1.18"
    8888            },
    89             "time": "2024-04-29T06:36:50+00:00",
     89            "time": "2024-08-16T06:48:03+00:00",
    9090            "type": "library",
    9191            "installation-source": "dist",
     
    116116            "support": {
    117117                "issues": "https://github.com/smalot/pdfparser/issues",
    118                 "source": "https://github.com/smalot/pdfparser/tree/v2.10.0"
     118                "source": "https://github.com/smalot/pdfparser/tree/v2.11.0"
    119119            },
    120120            "install-path": "../smalot/pdfparser"
     
    122122        {
    123123            "name": "symfony/polyfill-mbstring",
    124             "version": "v1.29.0",
    125             "version_normalized": "1.29.0.0",
     124            "version": "v1.30.0",
     125            "version_normalized": "1.30.0.0",
    126126            "source": {
    127127                "type": "git",
    128128                "url": "https://github.com/symfony/polyfill-mbstring.git",
    129                 "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
     129                "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
    130130            },
    131131            "dist": {
    132132                "type": "zip",
    133                 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
    134                 "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
     133                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
     134                "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
    135135                "shasum": ""
    136136            },
     
    144144                "ext-mbstring": "For best performance"
    145145            },
    146             "time": "2024-01-29T20:11:03+00:00",
     146            "time": "2024-06-19T12:30:46+00:00",
    147147            "type": "library",
    148148            "extra": {
     
    185185            ],
    186186            "support": {
    187                 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
     187                "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
    188188            },
    189189            "funding": [
  • full-text-search/tags/2.14.6/vendor/composer/installed.php

    r3079423 r3138583  
    22    'root' => array(
    33        'name' => '__root__',
    4         'pretty_version' => 'v2.14.5',
    5         'version' => '2.14.5.0',
    6         'reference' => '662e4ae0b1963e945d1cca6b6ccdbda2d63b42f3',
     4        'pretty_version' => 'v2.14.6',
     5        'version' => '2.14.6.0',
     6        'reference' => 'dd1bbe276c4c0cfd4455bfe3321fb7dcf40539fc',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        '__root__' => array(
    14             'pretty_version' => 'v2.14.5',
    15             'version' => '2.14.5.0',
    16             'reference' => '662e4ae0b1963e945d1cca6b6ccdbda2d63b42f3',
     14            'pretty_version' => 'v2.14.6',
     15            'version' => '2.14.6.0',
     16            'reference' => 'dd1bbe276c4c0cfd4455bfe3321fb7dcf40539fc',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../../',
     
    3030        ),
    3131        'smalot/pdfparser' => array(
    32             'pretty_version' => 'v2.10.0',
    33             'version' => '2.10.0.0',
    34             'reference' => '14adf318f8620a6195c0b00d51c6a507837b9ff4',
     32            'pretty_version' => 'v2.11.0',
     33            'version' => '2.11.0.0',
     34            'reference' => 'ac8e6678b0940e4b2ccd5caadd3fb18e68093be6',
    3535            'type' => 'library',
    3636            'install_path' => __DIR__ . '/../smalot/pdfparser',
     
    3939        ),
    4040        'symfony/polyfill-mbstring' => array(
    41             'pretty_version' => 'v1.29.0',
    42             'version' => '1.29.0.0',
    43             'reference' => '9773676c8a1bb1f8d4340a62efe641cf76eda7ec',
     41            'pretty_version' => 'v1.30.0',
     42            'version' => '1.30.0.0',
     43            'reference' => 'fd22ab50000ef01661e2a31d850ebaa297f8e03c',
    4444            'type' => 'library',
    4545            'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
  • full-text-search/tags/2.14.6/vendor/composer/jetpack_autoload_classmap.php

    r3079423 r3138583  
    1212    ),
    1313    'Smalot\\PdfParser\\Config' => array(
    14         'version' => '2.10.0.0',
     14        'version' => '2.11.0.0',
    1515        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Config.php'
    1616    ),
    1717    'Smalot\\PdfParser\\Document' => array(
    18         'version' => '2.10.0.0',
     18        'version' => '2.11.0.0',
    1919        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Document.php'
    2020    ),
    2121    'Smalot\\PdfParser\\Element' => array(
    22         'version' => '2.10.0.0',
     22        'version' => '2.11.0.0',
    2323        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element.php'
    2424    ),
    2525    'Smalot\\PdfParser\\Element\\ElementArray' => array(
    26         'version' => '2.10.0.0',
     26        'version' => '2.11.0.0',
    2727        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementArray.php'
    2828    ),
    2929    'Smalot\\PdfParser\\Element\\ElementBoolean' => array(
    30         'version' => '2.10.0.0',
     30        'version' => '2.11.0.0',
    3131        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementBoolean.php'
    3232    ),
    3333    'Smalot\\PdfParser\\Element\\ElementDate' => array(
    34         'version' => '2.10.0.0',
     34        'version' => '2.11.0.0',
    3535        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementDate.php'
    3636    ),
    3737    'Smalot\\PdfParser\\Element\\ElementHexa' => array(
    38         'version' => '2.10.0.0',
     38        'version' => '2.11.0.0',
    3939        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementHexa.php'
    4040    ),
    4141    'Smalot\\PdfParser\\Element\\ElementMissing' => array(
    42         'version' => '2.10.0.0',
     42        'version' => '2.11.0.0',
    4343        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementMissing.php'
    4444    ),
    4545    'Smalot\\PdfParser\\Element\\ElementName' => array(
    46         'version' => '2.10.0.0',
     46        'version' => '2.11.0.0',
    4747        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementName.php'
    4848    ),
    4949    'Smalot\\PdfParser\\Element\\ElementNull' => array(
    50         'version' => '2.10.0.0',
     50        'version' => '2.11.0.0',
    5151        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementNull.php'
    5252    ),
    5353    'Smalot\\PdfParser\\Element\\ElementNumeric' => array(
    54         'version' => '2.10.0.0',
     54        'version' => '2.11.0.0',
    5555        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementNumeric.php'
    5656    ),
    5757    'Smalot\\PdfParser\\Element\\ElementString' => array(
    58         'version' => '2.10.0.0',
     58        'version' => '2.11.0.0',
    5959        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementString.php'
    6060    ),
    6161    'Smalot\\PdfParser\\Element\\ElementStruct' => array(
    62         'version' => '2.10.0.0',
     62        'version' => '2.11.0.0',
    6363        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementStruct.php'
    6464    ),
    6565    'Smalot\\PdfParser\\Element\\ElementXRef' => array(
    66         'version' => '2.10.0.0',
     66        'version' => '2.11.0.0',
    6767        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementXRef.php'
    6868    ),
    6969    'Smalot\\PdfParser\\Encoding' => array(
    70         'version' => '2.10.0.0',
     70        'version' => '2.11.0.0',
    7171        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding.php'
    7272    ),
    7373    'Smalot\\PdfParser\\Encoding\\AbstractEncoding' => array(
    74         'version' => '2.10.0.0',
     74        'version' => '2.11.0.0',
    7575        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/AbstractEncoding.php'
    7676    ),
    7777    'Smalot\\PdfParser\\Encoding\\EncodingLocator' => array(
    78         'version' => '2.10.0.0',
     78        'version' => '2.11.0.0',
    7979        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/EncodingLocator.php'
    8080    ),
    8181    'Smalot\\PdfParser\\Encoding\\ISOLatin1Encoding' => array(
    82         'version' => '2.10.0.0',
     82        'version' => '2.11.0.0',
    8383        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/ISOLatin1Encoding.php'
    8484    ),
    8585    'Smalot\\PdfParser\\Encoding\\ISOLatin9Encoding' => array(
    86         'version' => '2.10.0.0',
     86        'version' => '2.11.0.0',
    8787        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/ISOLatin9Encoding.php'
    8888    ),
    8989    'Smalot\\PdfParser\\Encoding\\MacRomanEncoding' => array(
    90         'version' => '2.10.0.0',
     90        'version' => '2.11.0.0',
    9191        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/MacRomanEncoding.php'
    9292    ),
    9393    'Smalot\\PdfParser\\Encoding\\PDFDocEncoding' => array(
    94         'version' => '2.10.0.0',
     94        'version' => '2.11.0.0',
    9595        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/PDFDocEncoding.php'
    9696    ),
    9797    'Smalot\\PdfParser\\Encoding\\PostScriptGlyphs' => array(
    98         'version' => '2.10.0.0',
     98        'version' => '2.11.0.0',
    9999        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/PostScriptGlyphs.php'
    100100    ),
    101101    'Smalot\\PdfParser\\Encoding\\StandardEncoding' => array(
    102         'version' => '2.10.0.0',
     102        'version' => '2.11.0.0',
    103103        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/StandardEncoding.php'
    104104    ),
    105105    'Smalot\\PdfParser\\Encoding\\WinAnsiEncoding' => array(
    106         'version' => '2.10.0.0',
     106        'version' => '2.11.0.0',
    107107        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/WinAnsiEncoding.php'
    108108    ),
    109109    'Smalot\\PdfParser\\Exception\\EncodingNotFoundException' => array(
    110         'version' => '2.10.0.0',
     110        'version' => '2.11.0.0',
    111111        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Exception/EncodingNotFoundException.php'
    112112    ),
    113113    'Smalot\\PdfParser\\Font' => array(
    114         'version' => '2.10.0.0',
     114        'version' => '2.11.0.0',
    115115        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font.php'
    116116    ),
    117117    'Smalot\\PdfParser\\Font\\FontCIDFontType0' => array(
    118         'version' => '2.10.0.0',
     118        'version' => '2.11.0.0',
    119119        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontCIDFontType0.php'
    120120    ),
    121121    'Smalot\\PdfParser\\Font\\FontCIDFontType2' => array(
    122         'version' => '2.10.0.0',
     122        'version' => '2.11.0.0',
    123123        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontCIDFontType2.php'
    124124    ),
    125125    'Smalot\\PdfParser\\Font\\FontTrueType' => array(
    126         'version' => '2.10.0.0',
     126        'version' => '2.11.0.0',
    127127        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontTrueType.php'
    128128    ),
    129129    'Smalot\\PdfParser\\Font\\FontType0' => array(
    130         'version' => '2.10.0.0',
     130        'version' => '2.11.0.0',
    131131        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontType0.php'
    132132    ),
    133133    'Smalot\\PdfParser\\Font\\FontType1' => array(
    134         'version' => '2.10.0.0',
     134        'version' => '2.11.0.0',
    135135        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontType1.php'
    136136    ),
    137137    'Smalot\\PdfParser\\Font\\FontType3' => array(
    138         'version' => '2.10.0.0',
     138        'version' => '2.11.0.0',
    139139        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontType3.php'
    140140    ),
    141141    'Smalot\\PdfParser\\Header' => array(
    142         'version' => '2.10.0.0',
     142        'version' => '2.11.0.0',
    143143        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Header.php'
    144144    ),
    145145    'Smalot\\PdfParser\\PDFObject' => array(
    146         'version' => '2.10.0.0',
     146        'version' => '2.11.0.0',
    147147        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/PDFObject.php'
    148148    ),
    149149    'Smalot\\PdfParser\\Page' => array(
    150         'version' => '2.10.0.0',
     150        'version' => '2.11.0.0',
    151151        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Page.php'
    152152    ),
    153153    'Smalot\\PdfParser\\Pages' => array(
    154         'version' => '2.10.0.0',
     154        'version' => '2.11.0.0',
    155155        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Pages.php'
    156156    ),
    157157    'Smalot\\PdfParser\\Parser' => array(
    158         'version' => '2.10.0.0',
     158        'version' => '2.11.0.0',
    159159        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Parser.php'
    160160    ),
    161161    'Smalot\\PdfParser\\RawData\\FilterHelper' => array(
    162         'version' => '2.10.0.0',
     162        'version' => '2.11.0.0',
    163163        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/RawData/FilterHelper.php'
    164164    ),
    165165    'Smalot\\PdfParser\\RawData\\RawDataParser' => array(
    166         'version' => '2.10.0.0',
     166        'version' => '2.11.0.0',
    167167        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/RawData/RawDataParser.php'
    168168    ),
    169169    'Smalot\\PdfParser\\XObject\\Form' => array(
    170         'version' => '2.10.0.0',
     170        'version' => '2.11.0.0',
    171171        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/XObject/Form.php'
    172172    ),
    173173    'Smalot\\PdfParser\\XObject\\Image' => array(
    174         'version' => '2.10.0.0',
     174        'version' => '2.11.0.0',
    175175        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/XObject/Image.php'
    176176    ),
  • full-text-search/tags/2.14.6/vendor/composer/jetpack_autoload_filemap.php

    r3045777 r3138583  
    88return array(
    99    '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => array(
    10         'version' => '1.29.0.0',
     10        'version' => '1.30.0.0',
    1111        'path'    => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php'
    1212    ),
  • full-text-search/tags/2.14.6/vendor/composer/jetpack_autoload_psr4.php

    r3045777 r3138583  
    88return array(
    99    'Symfony\\Polyfill\\Mbstring\\' => array(
    10         'version' => '1.29.0.0',
     10        'version' => '1.30.0.0',
    1111        'path'    => array( $vendorDir . '/symfony/polyfill-mbstring' )
    1212    ),
  • full-text-search/tags/2.14.6/vendor/smalot/pdfparser/.github/workflows/continuous-integration.yml

    r2951448 r3138583  
    11name: "CI"
    22
    3 on:
    4   pull_request:
    5   push:
    6     branches:
    7       - master
     3on: [push, pull_request]
    84
    95env:
  • full-text-search/tags/2.14.6/vendor/smalot/pdfparser/doc/CustomConfig.md

    r3021053 r3138583  
    2626| `setPdfWhitespaces`      | String  | `\0\t\n\f\r `   |                                                                                                                                                      |
    2727| `setPdfWhitespacesRegex` | String  | `[\0\t\n\f\r ]` |                                                                                                                                                      |
    28 | `setRetainImageContent`  | Boolean | `true`          | If parsing fails because of memory exhaustion, you can set the value to `false`. It wont retain image content anymore, but will use less memory too. |
     28| `setRetainImageContent`  | Boolean | `true`          | If parsing fails due to memory exhaustion, you can set the value to `false`. This will reduce memory usage, although it will no longer retain image content. |
    2929
    3030
  • full-text-search/tags/2.14.6/vendor/smalot/pdfparser/src/Smalot/PdfParser/Document.php

    r3045777 r3138583  
    288288
    289289            // Only use this metadata if it's referring to a PDF
    290             if (isset($metadata['dc:format']) && 'application/pdf' == $metadata['dc:format']) {
     290            if (!isset($metadata['dc:format']) || 'application/pdf' == $metadata['dc:format']) {
    291291                // According to the XMP specifications: 'Conflict resolution
    292292                // for separate packets that describe the same resource is
  • full-text-search/tags/2.14.6/vendor/smalot/pdfparser/src/Smalot/PdfParser/Font.php

    r3045777 r3138583  
    192192            if (preg_match_all('/beginbfchar(?P<sections>.*?)endbfchar/s', $content, $matches)) {
    193193                foreach ($matches['sections'] as $section) {
    194                     $regexp = '/<(?P<from>[0-9A-F]+)> +<(?P<to>[0-9A-F]+)>[ \r\n]+/is';
     194                    $regexp = '/<(?P<from>[0-9A-F]+)> *<(?P<to>[0-9A-F]+)>[ \r\n]+/is';
    195195
    196196                    preg_match_all($regexp, $section, $matches);
  • full-text-search/tags/2.14.6/vendor/smalot/pdfparser/src/Smalot/PdfParser/PDFObject.php

    r3079423 r3138583  
    243243        }
    244244
     245        // Find all inline image content and replace them so they aren't
     246        // affected by the next steps
     247        $pdfInlineImages = [];
     248        $offsetBI = 0;
     249        while (preg_match('/\sBI\s(\/.+?)\sID\s(.+?)\sEI(?=\s|$)/s', $content, $text, \PREG_OFFSET_CAPTURE, $offsetBI)) {
     250            // Attempt to detemine if this instance of the 'BI' command
     251            // actually occured within a (string) using the following
     252            // steps:
     253
     254            // Step 1: Remove any escaped slashes and parentheses from
     255            // the alleged image characteristics data
     256            $para = str_replace(['\\\\', '\\(', '\\)'], '', $text[1][0]);
     257
     258            // Step 2: Remove all correctly ordered and balanced
     259            // parentheses from (strings)
     260            do {
     261                $paraTest = $para;
     262                $para = preg_replace('/\(([^()]*)\)/', '$1', $paraTest);
     263            } while ($para != $paraTest);
     264
     265            $paraOpen = strpos($para, '(');
     266            $paraClose = strpos($para, ')');
     267
     268            // Check: If the remaining text contains a close parenthesis
     269            // ')' AND it occurs before any open parenthesis, then we
     270            // are almost certain to be inside a (string)
     271            if (0 < $paraClose && (false === $paraOpen || $paraClose < $paraOpen)) {
     272                // Bump the search offset forward and match again
     273                $offsetBI = (int) $text[1][1];
     274                continue;
     275            }
     276
     277            // Step 3: Double check that this is actually inline image
     278            // data by parsing the alleged image characteristics as a
     279            // dictionary
     280            $dict = $this->parseDictionary('<<'.$text[1][0].'>>');
     281
     282            // Check if an image Width and Height are set in the dict
     283            if ((isset($dict['W']) || isset($dict['Width']))
     284                && (isset($dict['H']) || isset($dict['Height']))) {
     285                $id = uniqid('IMAGE_', true);
     286                $pdfInlineImages[$id] = [
     287                    preg_replace(['/\r\n/', '/\r/', '/\n/'], ' ', $text[1][0]),
     288                    preg_replace(['/\r\n/', '/\r/', '/\n/'], '', $text[2][0]),
     289                ];
     290                $content = preg_replace(
     291                    '/'.preg_quote($text[0][0], '/').'/',
     292                    '^^^'.$id.'^^^',
     293                    $content,
     294                    1
     295                );
     296            } else {
     297                // If there was no valid dictionary, or a height and width
     298                // weren't specified, then we don't know what this is, so
     299                // just leave it alone; bump the search offset forward and
     300                // match again
     301                $offsetBI = (int) $text[1][1];
     302            }
     303        }
     304
    245305        // Find all strings () and replace them so they aren't affected
    246306        // by the next steps
    247307        $pdfstrings = [];
    248308        $attempt = '(';
    249         while (preg_match('/'.preg_quote($attempt, '/').'.*?(?<![^\\\\]\\\\)\)/s', $content, $text)) {
     309        while (preg_match('/'.preg_quote($attempt, '/').'.*?\)/s', $content, $text)) {
     310            // Remove all escaped slashes and parentheses from the target text
     311            $para = str_replace(['\\\\', '\\(', '\\)'], '', $text[0]);
     312
    250313            // PDF strings can contain unescaped parentheses as long as
    251314            // they're balanced, so check for balanced parentheses
    252             $left = preg_match_all('/(?<![^\\\\]\\\\)\(/', $text[0]);
    253             $right = preg_match_all('/(?<![^\\\\]\\\\)\)/', $text[0]);
    254 
    255             if ($left == $right) {
     315            $left = preg_match_all('/\(/', $para);
     316            $right = preg_match_all('/\)/', $para);
     317
     318            if (')' == $para[-1] && $left == $right) {
    256319                // Replace the string with a unique placeholder
    257320                $id = uniqid('STRING_', true);
     
    279342        // aren't affected by the next steps
    280343        $dictstore = [];
    281         while (preg_match('/(<<.*?>> *)(BDC|BMC|DP|MP)/', $content, $dicttext)) {
     344        while (preg_match('/(<<.*?>> *)(BDC|BMC|DP|MP)/s', $content, $dicttext)) {
    282345            $dictid = uniqid('DICT_', true);
    283346            $dictstore[$dictid] = $dicttext[1];
     
    336399
    337400            $content = str_replace('@@@'.$id.'@@@', $text, $content);
     401        }
     402
     403        // Restore the original content of any inline images
     404        $pdfInlineImages = array_reverse($pdfInlineImages, true);
     405        foreach ($pdfInlineImages as $id => $image) {
     406            $content = str_replace(
     407                '^^^'.$id.'^^^',
     408                "\r\nBI\r\n".$image[0]." ID\r\n".$image[1]." EI\r\n",
     409                $content
     410            );
    338411        }
    339412
  • full-text-search/tags/2.14.6/vendor/smalot/pdfparser/src/Smalot/PdfParser/Page.php

    r3045777 r3138583  
    5454     */
    5555    protected $dataTm;
     56
     57    /**
     58     * @param array<\Smalot\PdfParser\Font> $fonts
     59     *
     60     * @internal
     61     */
     62    public function setFonts($fonts)
     63    {
     64        if (empty($this->fonts)) {
     65            $this->fonts = $fonts;
     66        }
     67    }
    5668
    5769    /**
     
    514526                    $extractedData[] = $command;
    515527                    break;
    516 
     528                    /*
     529                     * cm
     530                     * Concatenation Matrix that will transform all following Tm
     531                     */
     532                case 'cm':
     533                    $extractedData[] = $command;
     534                    break;
    517535                    /*
    518536                     * ET
     
    629647                    $extractedData[] = $command;
    630648                    break;
     649                    /*
     650                     * q
     651                     * Save current graphics state to stack
     652                     */
     653                case 'q':
     654                    /*
     655                     * Q
     656                     * Load last saved graphics state from stack
     657                     */
     658                case 'Q':
     659                    $extractedData[] = $command;
     660                    break;
    631661                default:
    632662            }
     
    660690         */
    661691        $defaultTm = ['1', '0', '0', '1', '0', '0'];
    662 
     692        $concatTm = ['1', '0', '0', '1', '0', '0'];
     693        $graphicsStatesStack = [];
    663694        /*
    664695         *  Set the text leading used by T*, ' and " operators
     
    719750                    break;
    720751
     752                case 'cm':
     753                    $newConcatTm = (array) explode(' ', $command['c']);
     754                    $TempMatrix = [];
     755                    // Multiply with previous concatTm
     756                    $TempMatrix[0] = (float) $concatTm[0] * (float) $newConcatTm[0] + (float) $concatTm[1] * (float) $newConcatTm[2];
     757                    $TempMatrix[1] = (float) $concatTm[0] * (float) $newConcatTm[1] + (float) $concatTm[1] * (float) $newConcatTm[3];
     758                    $TempMatrix[2] = (float) $concatTm[2] * (float) $newConcatTm[0] + (float) $concatTm[3] * (float) $newConcatTm[2];
     759                    $TempMatrix[3] = (float) $concatTm[2] * (float) $newConcatTm[1] + (float) $concatTm[3] * (float) $newConcatTm[3];
     760                    $TempMatrix[4] = (float) $concatTm[4] * (float) $newConcatTm[0] + (float) $concatTm[5] * (float) $newConcatTm[2] + (float) $newConcatTm[4];
     761                    $TempMatrix[5] = (float) $concatTm[4] * (float) $newConcatTm[1] + (float) $concatTm[5] * (float) $newConcatTm[3] + (float) $newConcatTm[5];
     762                    $concatTm = $TempMatrix;
     763                    break;
    721764                    /*
    722765                     * ET
     
    775818                case 'Tm':
    776819                    $Tm = explode(' ', $command['c']);
     820                    $TempMatrix = [];
     821                    $TempMatrix[0] = (float) $Tm[0] * (float) $concatTm[0] + (float) $Tm[1] * (float) $concatTm[2];
     822                    $TempMatrix[1] = (float) $Tm[0] * (float) $concatTm[1] + (float) $Tm[1] * (float) $concatTm[3];
     823                    $TempMatrix[2] = (float) $Tm[2] * (float) $concatTm[0] + (float) $Tm[3] * (float) $concatTm[2];
     824                    $TempMatrix[3] = (float) $Tm[2] * (float) $concatTm[1] + (float) $Tm[3] * (float) $concatTm[3];
     825                    $TempMatrix[4] = (float) $Tm[4] * (float) $concatTm[0] + (float) $Tm[5] * (float) $concatTm[2] + (float) $concatTm[4];
     826                    $TempMatrix[5] = (float) $Tm[4] * (float) $concatTm[1] + (float) $Tm[5] * (float) $concatTm[3] + (float) $concatTm[5];
     827                    $Tm = $TempMatrix;
    777828                    $Tx = (float) $Tm[$x];
    778829                    $Ty = (float) $Tm[$y];
     
    868919                    }
    869920                    $extractedData[] = $data;
     921                    break;
     922                    /*
     923                     * q
     924                     * Save current graphics state to stack
     925                     */
     926                case 'q':
     927                    $graphicsStatesStack[] = $concatTm;
     928                    break;
     929                    /*
     930                     * Q
     931                     * Load last saved graphics state from stack
     932                     */
     933                case 'Q':
     934                    $concatTm = array_pop($graphicsStatesStack);
    870935                    break;
    871936                default:
  • full-text-search/tags/2.14.6/vendor/smalot/pdfparser/src/Smalot/PdfParser/Pages.php

    r2830383 r3138583  
    4141{
    4242    /**
    43      * @todo Objects other than Pages or Page might need to be treated specifically in order to get Page objects out of them,
     43     * @var array<\Smalot\PdfParser\Font>|null
     44     */
     45    protected $fonts;
     46
     47    /**
     48     * @todo Objects other than Pages or Page might need to be treated specifically
     49     *       in order to get Page objects out of them.
    4450     *
    4551     * @see https://github.com/smalot/pdfparser/issues/331
     
    5864        }
    5965
     66        // Prepare to apply the Pages' object's fonts to each page
     67        if (false === \is_array($this->fonts)) {
     68            $this->setupFonts();
     69        }
     70        $fontsAvailable = 0 < \count($this->fonts);
     71
    6072        $kids = $kidsElement->getContent();
    6173        $pages = [];
     
    6577                $pages = array_merge($pages, $kid->getPages(true));
    6678            } elseif ($kid instanceof Page) {
     79                if ($fontsAvailable) {
     80                    $kid->setFonts($this->fonts);
     81                }
    6782                $pages[] = $kid;
    6883            }
     
    7186        return $pages;
    7287    }
     88
     89    /**
     90     * Gathers information about fonts and collects them in a list.
     91     *
     92     * @return void
     93     *
     94     * @internal
     95     */
     96    protected function setupFonts()
     97    {
     98        $resources = $this->get('Resources');
     99
     100        if (method_exists($resources, 'has') && $resources->has('Font')) {
     101            // no fonts available, therefore stop here
     102            if ($resources->get('Font') instanceof Element\ElementMissing) {
     103                return;
     104            }
     105
     106            if ($resources->get('Font') instanceof Header) {
     107                $fonts = $resources->get('Font')->getElements();
     108            } else {
     109                $fonts = $resources->get('Font')->getHeader()->getElements();
     110            }
     111
     112            $table = [];
     113
     114            foreach ($fonts as $id => $font) {
     115                if ($font instanceof Font) {
     116                    $table[$id] = $font;
     117
     118                    // Store too on cleaned id value (only numeric)
     119                    $id = preg_replace('/[^0-9\.\-_]/', '', $id);
     120                    if ('' != $id) {
     121                        $table[$id] = $font;
     122                    }
     123                }
     124            }
     125
     126            $this->fonts = $table;
     127        } else {
     128            $this->fonts = [];
     129        }
     130    }
    73131}
  • full-text-search/tags/2.14.6/vendor/smalot/pdfparser/src/Smalot/PdfParser/RawData/FilterHelper.php

    r2951448 r3138583  
    283283        $bitstring = '';
    284284        for ($i = 0; $i < $data_length; ++$i) {
    285             $bitstring .= sprintf('%08b', \ord($data[$i]));
     285            $bitstring .= \sprintf('%08b', \ord($data[$i]));
    286286        }
    287287        // get the number of bits
  • full-text-search/tags/2.14.6/vendor/smalot/pdfparser/src/Smalot/PdfParser/RawData/RawDataParser.php

    r3079423 r3138583  
    215215            }
    216216            if (preg_match('/Prev[\s]+([0-9]+)/i', $trailer_data, $matches) > 0) {
    217                 // get previous xref
    218                 $xref = $this->getXrefData($pdfData, (int) $matches[1], $xref);
     217                $offset = (int) $matches[1];
     218                if (0 != $offset) {
     219                    // get previous xref
     220                    $xref = $this->getXrefData($pdfData, $offset, $xref);
     221                }
    219222            }
    220223        } else {
  • full-text-search/tags/2.14.6/vendor/symfony/polyfill-mbstring/Mbstring.php

    r3014035 r3138583  
    4949 * - mb_strwidth             - Return width of string
    5050 * - mb_substr_count         - Count the number of substring occurrences
     51 * - mb_ucfirst              - Make a string's first character uppercase
     52 * - mb_lcfirst              - Make a string's first character lowercase
    5153 *
    5254 * Not implemented:
     
    8183    public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null)
    8284    {
     85        if (\is_array($s)) {
     86            if (PHP_VERSION_ID < 70200) {
     87                trigger_error('mb_convert_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING);
     88
     89                return null;
     90            }
     91
     92            $r = [];
     93            foreach ($s as $str) {
     94                $r[] = self::mb_convert_encoding($str, $toEncoding, $fromEncoding);
     95            }
     96
     97            return $r;
     98        }
     99
    83100        if (\is_array($fromEncoding) || (null !== $fromEncoding && false !== strpos($fromEncoding, ','))) {
    84101            $fromEncoding = self::mb_detect_encoding($s, $fromEncoding);
     
    411428    public static function mb_check_encoding($var = null, $encoding = null)
    412429    {
    413         if (PHP_VERSION_ID < 70200 && \is_array($var)) {
     430        if (\PHP_VERSION_ID < 70200 && \is_array($var)) {
    414431            trigger_error('mb_check_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING);
    415432
     
    438455
    439456        return true;
    440 
    441457    }
    442458
     
    828844    }
    829845
    830     public static function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = \STR_PAD_RIGHT, string $encoding = null): string
     846    public static function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = \STR_PAD_RIGHT, ?string $encoding = null): string
    831847    {
    832848        if (!\in_array($pad_type, [\STR_PAD_RIGHT, \STR_PAD_LEFT, \STR_PAD_BOTH], true)) {
     
    836852        if (null === $encoding) {
    837853            $encoding = self::mb_internal_encoding();
    838         }
    839 
    840         try {
    841             $validEncoding = @self::mb_check_encoding('', $encoding);
    842         } catch (\ValueError $e) {
    843             throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding));
    844         }
    845 
    846         // BC for PHP 7.3 and lower
    847         if (!$validEncoding) {
    848             throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding));
     854        } else {
     855            self::assertEncoding($encoding, 'mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given');
    849856        }
    850857
     
    872879    }
    873880
     881    public static function mb_ucfirst(string $string, ?string $encoding = null): string
     882    {
     883        if (null === $encoding) {
     884            $encoding = self::mb_internal_encoding();
     885        } else {
     886            self::assertEncoding($encoding, 'mb_ucfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given');
     887        }
     888
     889        $firstChar = mb_substr($string, 0, 1, $encoding);
     890        $firstChar = mb_convert_case($firstChar, \MB_CASE_TITLE, $encoding);
     891
     892        return $firstChar.mb_substr($string, 1, null, $encoding);
     893    }
     894
     895    public static function mb_lcfirst(string $string, ?string $encoding = null): string
     896    {
     897        if (null === $encoding) {
     898            $encoding = self::mb_internal_encoding();
     899        } else {
     900            self::assertEncoding($encoding, 'mb_lcfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given');
     901        }
     902
     903        $firstChar = mb_substr($string, 0, 1, $encoding);
     904        $firstChar = mb_convert_case($firstChar, \MB_CASE_LOWER, $encoding);
     905
     906        return $firstChar.mb_substr($string, 1, null, $encoding);
     907    }
     908
    874909    private static function getSubpart($pos, $part, $haystack, $encoding)
    875910    {
     
    945980        return $encoding;
    946981    }
     982
     983    private static function assertEncoding(string $encoding, string $errorFormat): void
     984    {
     985        try {
     986            $validEncoding = @self::mb_check_encoding('', $encoding);
     987        } catch (\ValueError $e) {
     988            throw new \ValueError(\sprintf($errorFormat, $encoding));
     989        }
     990
     991        // BC for PHP 7.3 and lower
     992        if (!$validEncoding) {
     993            throw new \ValueError(\sprintf($errorFormat, $encoding));
     994        }
     995    }
    947996}
  • full-text-search/tags/2.14.6/vendor/symfony/polyfill-mbstring/bootstrap.php

    r3014035 r3138583  
    137137}
    138138
     139if (!function_exists('mb_ucfirst')) {
     140    function mb_ucfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); }
     141}
     142
     143if (!function_exists('mb_lcfirst')) {
     144    function mb_lcfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); }
     145}
     146
    139147if (extension_loaded('mbstring')) {
    140148    return;
  • full-text-search/tags/2.14.6/vendor/symfony/polyfill-mbstring/bootstrap80.php

    r3014035 r3138583  
    133133}
    134134
     135if (!function_exists('mb_ucfirst')) {
     136    function mb_ucfirst($string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); }
     137}
     138
     139if (!function_exists('mb_lcfirst')) {
     140    function mb_lcfirst($string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); }
     141}
     142
    135143if (extension_loaded('mbstring')) {
    136144    return;
  • full-text-search/trunk/full-text-search.php

    r3079423 r3138583  
    1111 * Plugin URI:        https://xakuro.com/wordpress/
    1212 * Description:       Replaces site search with full-text search.
    13  * Version:           2.14.5
     13 * Version:           2.14.6
    1414 * Requires at least: 5.5
    1515 * Requires PHP:      7.2
     
    2525}
    2626
    27 define( 'FULL_TEXT_SEARCH_VERSION', '2.14.5' );
     27define( 'FULL_TEXT_SEARCH_VERSION', '2.14.6' );
    2828
    2929require_once __DIR__ . '/main.php';
  • full-text-search/trunk/readme.txt

    r3079423 r3138583  
    33Tags: full-text search,full-text,search,fulltext,mroonga
    44Requires at least: 5.5
    5 Tested up to: 6.5
     5Tested up to: 6.6
    66Requires PHP: 7.2
    7 Stable tag: 2.14.5
     7Stable tag: 2.14.6
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    5252
    5353== Changelog ==
     54
     55= 2.14.6 =
     56
     57* Updated PDF Parser library to 2.11.0.
    5458
    5559= 2.14.5 =
  • full-text-search/trunk/vendor/composer/installed.json

    r3079423 r3138583  
    6868        {
    6969            "name": "smalot/pdfparser",
    70             "version": "v2.10.0",
    71             "version_normalized": "2.10.0.0",
     70            "version": "v2.11.0",
     71            "version_normalized": "2.11.0.0",
    7272            "source": {
    7373                "type": "git",
    7474                "url": "https://github.com/smalot/pdfparser.git",
    75                 "reference": "14adf318f8620a6195c0b00d51c6a507837b9ff4"
     75                "reference": "ac8e6678b0940e4b2ccd5caadd3fb18e68093be6"
    7676            },
    7777            "dist": {
    7878                "type": "zip",
    79                 "url": "https://api.github.com/repos/smalot/pdfparser/zipball/14adf318f8620a6195c0b00d51c6a507837b9ff4",
    80                 "reference": "14adf318f8620a6195c0b00d51c6a507837b9ff4",
     79                "url": "https://api.github.com/repos/smalot/pdfparser/zipball/ac8e6678b0940e4b2ccd5caadd3fb18e68093be6",
     80                "reference": "ac8e6678b0940e4b2ccd5caadd3fb18e68093be6",
    8181                "shasum": ""
    8282            },
     
    8787                "symfony/polyfill-mbstring": "^1.18"
    8888            },
    89             "time": "2024-04-29T06:36:50+00:00",
     89            "time": "2024-08-16T06:48:03+00:00",
    9090            "type": "library",
    9191            "installation-source": "dist",
     
    116116            "support": {
    117117                "issues": "https://github.com/smalot/pdfparser/issues",
    118                 "source": "https://github.com/smalot/pdfparser/tree/v2.10.0"
     118                "source": "https://github.com/smalot/pdfparser/tree/v2.11.0"
    119119            },
    120120            "install-path": "../smalot/pdfparser"
     
    122122        {
    123123            "name": "symfony/polyfill-mbstring",
    124             "version": "v1.29.0",
    125             "version_normalized": "1.29.0.0",
     124            "version": "v1.30.0",
     125            "version_normalized": "1.30.0.0",
    126126            "source": {
    127127                "type": "git",
    128128                "url": "https://github.com/symfony/polyfill-mbstring.git",
    129                 "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
     129                "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
    130130            },
    131131            "dist": {
    132132                "type": "zip",
    133                 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
    134                 "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
     133                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
     134                "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
    135135                "shasum": ""
    136136            },
     
    144144                "ext-mbstring": "For best performance"
    145145            },
    146             "time": "2024-01-29T20:11:03+00:00",
     146            "time": "2024-06-19T12:30:46+00:00",
    147147            "type": "library",
    148148            "extra": {
     
    185185            ],
    186186            "support": {
    187                 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
     187                "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
    188188            },
    189189            "funding": [
  • full-text-search/trunk/vendor/composer/installed.php

    r3079423 r3138583  
    22    'root' => array(
    33        'name' => '__root__',
    4         'pretty_version' => 'v2.14.5',
    5         'version' => '2.14.5.0',
    6         'reference' => '662e4ae0b1963e945d1cca6b6ccdbda2d63b42f3',
     4        'pretty_version' => 'v2.14.6',
     5        'version' => '2.14.6.0',
     6        'reference' => 'dd1bbe276c4c0cfd4455bfe3321fb7dcf40539fc',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        '__root__' => array(
    14             'pretty_version' => 'v2.14.5',
    15             'version' => '2.14.5.0',
    16             'reference' => '662e4ae0b1963e945d1cca6b6ccdbda2d63b42f3',
     14            'pretty_version' => 'v2.14.6',
     15            'version' => '2.14.6.0',
     16            'reference' => 'dd1bbe276c4c0cfd4455bfe3321fb7dcf40539fc',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../../',
     
    3030        ),
    3131        'smalot/pdfparser' => array(
    32             'pretty_version' => 'v2.10.0',
    33             'version' => '2.10.0.0',
    34             'reference' => '14adf318f8620a6195c0b00d51c6a507837b9ff4',
     32            'pretty_version' => 'v2.11.0',
     33            'version' => '2.11.0.0',
     34            'reference' => 'ac8e6678b0940e4b2ccd5caadd3fb18e68093be6',
    3535            'type' => 'library',
    3636            'install_path' => __DIR__ . '/../smalot/pdfparser',
     
    3939        ),
    4040        'symfony/polyfill-mbstring' => array(
    41             'pretty_version' => 'v1.29.0',
    42             'version' => '1.29.0.0',
    43             'reference' => '9773676c8a1bb1f8d4340a62efe641cf76eda7ec',
     41            'pretty_version' => 'v1.30.0',
     42            'version' => '1.30.0.0',
     43            'reference' => 'fd22ab50000ef01661e2a31d850ebaa297f8e03c',
    4444            'type' => 'library',
    4545            'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
  • full-text-search/trunk/vendor/composer/jetpack_autoload_classmap.php

    r3079423 r3138583  
    1212    ),
    1313    'Smalot\\PdfParser\\Config' => array(
    14         'version' => '2.10.0.0',
     14        'version' => '2.11.0.0',
    1515        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Config.php'
    1616    ),
    1717    'Smalot\\PdfParser\\Document' => array(
    18         'version' => '2.10.0.0',
     18        'version' => '2.11.0.0',
    1919        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Document.php'
    2020    ),
    2121    'Smalot\\PdfParser\\Element' => array(
    22         'version' => '2.10.0.0',
     22        'version' => '2.11.0.0',
    2323        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element.php'
    2424    ),
    2525    'Smalot\\PdfParser\\Element\\ElementArray' => array(
    26         'version' => '2.10.0.0',
     26        'version' => '2.11.0.0',
    2727        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementArray.php'
    2828    ),
    2929    'Smalot\\PdfParser\\Element\\ElementBoolean' => array(
    30         'version' => '2.10.0.0',
     30        'version' => '2.11.0.0',
    3131        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementBoolean.php'
    3232    ),
    3333    'Smalot\\PdfParser\\Element\\ElementDate' => array(
    34         'version' => '2.10.0.0',
     34        'version' => '2.11.0.0',
    3535        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementDate.php'
    3636    ),
    3737    'Smalot\\PdfParser\\Element\\ElementHexa' => array(
    38         'version' => '2.10.0.0',
     38        'version' => '2.11.0.0',
    3939        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementHexa.php'
    4040    ),
    4141    'Smalot\\PdfParser\\Element\\ElementMissing' => array(
    42         'version' => '2.10.0.0',
     42        'version' => '2.11.0.0',
    4343        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementMissing.php'
    4444    ),
    4545    'Smalot\\PdfParser\\Element\\ElementName' => array(
    46         'version' => '2.10.0.0',
     46        'version' => '2.11.0.0',
    4747        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementName.php'
    4848    ),
    4949    'Smalot\\PdfParser\\Element\\ElementNull' => array(
    50         'version' => '2.10.0.0',
     50        'version' => '2.11.0.0',
    5151        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementNull.php'
    5252    ),
    5353    'Smalot\\PdfParser\\Element\\ElementNumeric' => array(
    54         'version' => '2.10.0.0',
     54        'version' => '2.11.0.0',
    5555        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementNumeric.php'
    5656    ),
    5757    'Smalot\\PdfParser\\Element\\ElementString' => array(
    58         'version' => '2.10.0.0',
     58        'version' => '2.11.0.0',
    5959        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementString.php'
    6060    ),
    6161    'Smalot\\PdfParser\\Element\\ElementStruct' => array(
    62         'version' => '2.10.0.0',
     62        'version' => '2.11.0.0',
    6363        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementStruct.php'
    6464    ),
    6565    'Smalot\\PdfParser\\Element\\ElementXRef' => array(
    66         'version' => '2.10.0.0',
     66        'version' => '2.11.0.0',
    6767        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Element/ElementXRef.php'
    6868    ),
    6969    'Smalot\\PdfParser\\Encoding' => array(
    70         'version' => '2.10.0.0',
     70        'version' => '2.11.0.0',
    7171        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding.php'
    7272    ),
    7373    'Smalot\\PdfParser\\Encoding\\AbstractEncoding' => array(
    74         'version' => '2.10.0.0',
     74        'version' => '2.11.0.0',
    7575        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/AbstractEncoding.php'
    7676    ),
    7777    'Smalot\\PdfParser\\Encoding\\EncodingLocator' => array(
    78         'version' => '2.10.0.0',
     78        'version' => '2.11.0.0',
    7979        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/EncodingLocator.php'
    8080    ),
    8181    'Smalot\\PdfParser\\Encoding\\ISOLatin1Encoding' => array(
    82         'version' => '2.10.0.0',
     82        'version' => '2.11.0.0',
    8383        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/ISOLatin1Encoding.php'
    8484    ),
    8585    'Smalot\\PdfParser\\Encoding\\ISOLatin9Encoding' => array(
    86         'version' => '2.10.0.0',
     86        'version' => '2.11.0.0',
    8787        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/ISOLatin9Encoding.php'
    8888    ),
    8989    'Smalot\\PdfParser\\Encoding\\MacRomanEncoding' => array(
    90         'version' => '2.10.0.0',
     90        'version' => '2.11.0.0',
    9191        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/MacRomanEncoding.php'
    9292    ),
    9393    'Smalot\\PdfParser\\Encoding\\PDFDocEncoding' => array(
    94         'version' => '2.10.0.0',
     94        'version' => '2.11.0.0',
    9595        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/PDFDocEncoding.php'
    9696    ),
    9797    'Smalot\\PdfParser\\Encoding\\PostScriptGlyphs' => array(
    98         'version' => '2.10.0.0',
     98        'version' => '2.11.0.0',
    9999        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/PostScriptGlyphs.php'
    100100    ),
    101101    'Smalot\\PdfParser\\Encoding\\StandardEncoding' => array(
    102         'version' => '2.10.0.0',
     102        'version' => '2.11.0.0',
    103103        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/StandardEncoding.php'
    104104    ),
    105105    'Smalot\\PdfParser\\Encoding\\WinAnsiEncoding' => array(
    106         'version' => '2.10.0.0',
     106        'version' => '2.11.0.0',
    107107        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Encoding/WinAnsiEncoding.php'
    108108    ),
    109109    'Smalot\\PdfParser\\Exception\\EncodingNotFoundException' => array(
    110         'version' => '2.10.0.0',
     110        'version' => '2.11.0.0',
    111111        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Exception/EncodingNotFoundException.php'
    112112    ),
    113113    'Smalot\\PdfParser\\Font' => array(
    114         'version' => '2.10.0.0',
     114        'version' => '2.11.0.0',
    115115        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font.php'
    116116    ),
    117117    'Smalot\\PdfParser\\Font\\FontCIDFontType0' => array(
    118         'version' => '2.10.0.0',
     118        'version' => '2.11.0.0',
    119119        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontCIDFontType0.php'
    120120    ),
    121121    'Smalot\\PdfParser\\Font\\FontCIDFontType2' => array(
    122         'version' => '2.10.0.0',
     122        'version' => '2.11.0.0',
    123123        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontCIDFontType2.php'
    124124    ),
    125125    'Smalot\\PdfParser\\Font\\FontTrueType' => array(
    126         'version' => '2.10.0.0',
     126        'version' => '2.11.0.0',
    127127        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontTrueType.php'
    128128    ),
    129129    'Smalot\\PdfParser\\Font\\FontType0' => array(
    130         'version' => '2.10.0.0',
     130        'version' => '2.11.0.0',
    131131        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontType0.php'
    132132    ),
    133133    'Smalot\\PdfParser\\Font\\FontType1' => array(
    134         'version' => '2.10.0.0',
     134        'version' => '2.11.0.0',
    135135        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontType1.php'
    136136    ),
    137137    'Smalot\\PdfParser\\Font\\FontType3' => array(
    138         'version' => '2.10.0.0',
     138        'version' => '2.11.0.0',
    139139        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Font/FontType3.php'
    140140    ),
    141141    'Smalot\\PdfParser\\Header' => array(
    142         'version' => '2.10.0.0',
     142        'version' => '2.11.0.0',
    143143        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Header.php'
    144144    ),
    145145    'Smalot\\PdfParser\\PDFObject' => array(
    146         'version' => '2.10.0.0',
     146        'version' => '2.11.0.0',
    147147        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/PDFObject.php'
    148148    ),
    149149    'Smalot\\PdfParser\\Page' => array(
    150         'version' => '2.10.0.0',
     150        'version' => '2.11.0.0',
    151151        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Page.php'
    152152    ),
    153153    'Smalot\\PdfParser\\Pages' => array(
    154         'version' => '2.10.0.0',
     154        'version' => '2.11.0.0',
    155155        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Pages.php'
    156156    ),
    157157    'Smalot\\PdfParser\\Parser' => array(
    158         'version' => '2.10.0.0',
     158        'version' => '2.11.0.0',
    159159        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/Parser.php'
    160160    ),
    161161    'Smalot\\PdfParser\\RawData\\FilterHelper' => array(
    162         'version' => '2.10.0.0',
     162        'version' => '2.11.0.0',
    163163        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/RawData/FilterHelper.php'
    164164    ),
    165165    'Smalot\\PdfParser\\RawData\\RawDataParser' => array(
    166         'version' => '2.10.0.0',
     166        'version' => '2.11.0.0',
    167167        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/RawData/RawDataParser.php'
    168168    ),
    169169    'Smalot\\PdfParser\\XObject\\Form' => array(
    170         'version' => '2.10.0.0',
     170        'version' => '2.11.0.0',
    171171        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/XObject/Form.php'
    172172    ),
    173173    'Smalot\\PdfParser\\XObject\\Image' => array(
    174         'version' => '2.10.0.0',
     174        'version' => '2.11.0.0',
    175175        'path'    => $vendorDir . '/smalot/pdfparser/src/Smalot/PdfParser/XObject/Image.php'
    176176    ),
  • full-text-search/trunk/vendor/composer/jetpack_autoload_filemap.php

    r3045777 r3138583  
    88return array(
    99    '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => array(
    10         'version' => '1.29.0.0',
     10        'version' => '1.30.0.0',
    1111        'path'    => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php'
    1212    ),
  • full-text-search/trunk/vendor/composer/jetpack_autoload_psr4.php

    r3045777 r3138583  
    88return array(
    99    'Symfony\\Polyfill\\Mbstring\\' => array(
    10         'version' => '1.29.0.0',
     10        'version' => '1.30.0.0',
    1111        'path'    => array( $vendorDir . '/symfony/polyfill-mbstring' )
    1212    ),
  • full-text-search/trunk/vendor/smalot/pdfparser/.github/workflows/continuous-integration.yml

    r2951448 r3138583  
    11name: "CI"
    22
    3 on:
    4   pull_request:
    5   push:
    6     branches:
    7       - master
     3on: [push, pull_request]
    84
    95env:
  • full-text-search/trunk/vendor/smalot/pdfparser/doc/CustomConfig.md

    r3021053 r3138583  
    2626| `setPdfWhitespaces`      | String  | `\0\t\n\f\r `   |                                                                                                                                                      |
    2727| `setPdfWhitespacesRegex` | String  | `[\0\t\n\f\r ]` |                                                                                                                                                      |
    28 | `setRetainImageContent`  | Boolean | `true`          | If parsing fails because of memory exhaustion, you can set the value to `false`. It wont retain image content anymore, but will use less memory too. |
     28| `setRetainImageContent`  | Boolean | `true`          | If parsing fails due to memory exhaustion, you can set the value to `false`. This will reduce memory usage, although it will no longer retain image content. |
    2929
    3030
  • full-text-search/trunk/vendor/smalot/pdfparser/src/Smalot/PdfParser/Document.php

    r3045777 r3138583  
    288288
    289289            // Only use this metadata if it's referring to a PDF
    290             if (isset($metadata['dc:format']) && 'application/pdf' == $metadata['dc:format']) {
     290            if (!isset($metadata['dc:format']) || 'application/pdf' == $metadata['dc:format']) {
    291291                // According to the XMP specifications: 'Conflict resolution
    292292                // for separate packets that describe the same resource is
  • full-text-search/trunk/vendor/smalot/pdfparser/src/Smalot/PdfParser/Font.php

    r3045777 r3138583  
    192192            if (preg_match_all('/beginbfchar(?P<sections>.*?)endbfchar/s', $content, $matches)) {
    193193                foreach ($matches['sections'] as $section) {
    194                     $regexp = '/<(?P<from>[0-9A-F]+)> +<(?P<to>[0-9A-F]+)>[ \r\n]+/is';
     194                    $regexp = '/<(?P<from>[0-9A-F]+)> *<(?P<to>[0-9A-F]+)>[ \r\n]+/is';
    195195
    196196                    preg_match_all($regexp, $section, $matches);
  • full-text-search/trunk/vendor/smalot/pdfparser/src/Smalot/PdfParser/PDFObject.php

    r3079423 r3138583  
    243243        }
    244244
     245        // Find all inline image content and replace them so they aren't
     246        // affected by the next steps
     247        $pdfInlineImages = [];
     248        $offsetBI = 0;
     249        while (preg_match('/\sBI\s(\/.+?)\sID\s(.+?)\sEI(?=\s|$)/s', $content, $text, \PREG_OFFSET_CAPTURE, $offsetBI)) {
     250            // Attempt to detemine if this instance of the 'BI' command
     251            // actually occured within a (string) using the following
     252            // steps:
     253
     254            // Step 1: Remove any escaped slashes and parentheses from
     255            // the alleged image characteristics data
     256            $para = str_replace(['\\\\', '\\(', '\\)'], '', $text[1][0]);
     257
     258            // Step 2: Remove all correctly ordered and balanced
     259            // parentheses from (strings)
     260            do {
     261                $paraTest = $para;
     262                $para = preg_replace('/\(([^()]*)\)/', '$1', $paraTest);
     263            } while ($para != $paraTest);
     264
     265            $paraOpen = strpos($para, '(');
     266            $paraClose = strpos($para, ')');
     267
     268            // Check: If the remaining text contains a close parenthesis
     269            // ')' AND it occurs before any open parenthesis, then we
     270            // are almost certain to be inside a (string)
     271            if (0 < $paraClose && (false === $paraOpen || $paraClose < $paraOpen)) {
     272                // Bump the search offset forward and match again
     273                $offsetBI = (int) $text[1][1];
     274                continue;
     275            }
     276
     277            // Step 3: Double check that this is actually inline image
     278            // data by parsing the alleged image characteristics as a
     279            // dictionary
     280            $dict = $this->parseDictionary('<<'.$text[1][0].'>>');
     281
     282            // Check if an image Width and Height are set in the dict
     283            if ((isset($dict['W']) || isset($dict['Width']))
     284                && (isset($dict['H']) || isset($dict['Height']))) {
     285                $id = uniqid('IMAGE_', true);
     286                $pdfInlineImages[$id] = [
     287                    preg_replace(['/\r\n/', '/\r/', '/\n/'], ' ', $text[1][0]),
     288                    preg_replace(['/\r\n/', '/\r/', '/\n/'], '', $text[2][0]),
     289                ];
     290                $content = preg_replace(
     291                    '/'.preg_quote($text[0][0], '/').'/',
     292                    '^^^'.$id.'^^^',
     293                    $content,
     294                    1
     295                );
     296            } else {
     297                // If there was no valid dictionary, or a height and width
     298                // weren't specified, then we don't know what this is, so
     299                // just leave it alone; bump the search offset forward and
     300                // match again
     301                $offsetBI = (int) $text[1][1];
     302            }
     303        }
     304
    245305        // Find all strings () and replace them so they aren't affected
    246306        // by the next steps
    247307        $pdfstrings = [];
    248308        $attempt = '(';
    249         while (preg_match('/'.preg_quote($attempt, '/').'.*?(?<![^\\\\]\\\\)\)/s', $content, $text)) {
     309        while (preg_match('/'.preg_quote($attempt, '/').'.*?\)/s', $content, $text)) {
     310            // Remove all escaped slashes and parentheses from the target text
     311            $para = str_replace(['\\\\', '\\(', '\\)'], '', $text[0]);
     312
    250313            // PDF strings can contain unescaped parentheses as long as
    251314            // they're balanced, so check for balanced parentheses
    252             $left = preg_match_all('/(?<![^\\\\]\\\\)\(/', $text[0]);
    253             $right = preg_match_all('/(?<![^\\\\]\\\\)\)/', $text[0]);
    254 
    255             if ($left == $right) {
     315            $left = preg_match_all('/\(/', $para);
     316            $right = preg_match_all('/\)/', $para);
     317
     318            if (')' == $para[-1] && $left == $right) {
    256319                // Replace the string with a unique placeholder
    257320                $id = uniqid('STRING_', true);
     
    279342        // aren't affected by the next steps
    280343        $dictstore = [];
    281         while (preg_match('/(<<.*?>> *)(BDC|BMC|DP|MP)/', $content, $dicttext)) {
     344        while (preg_match('/(<<.*?>> *)(BDC|BMC|DP|MP)/s', $content, $dicttext)) {
    282345            $dictid = uniqid('DICT_', true);
    283346            $dictstore[$dictid] = $dicttext[1];
     
    336399
    337400            $content = str_replace('@@@'.$id.'@@@', $text, $content);
     401        }
     402
     403        // Restore the original content of any inline images
     404        $pdfInlineImages = array_reverse($pdfInlineImages, true);
     405        foreach ($pdfInlineImages as $id => $image) {
     406            $content = str_replace(
     407                '^^^'.$id.'^^^',
     408                "\r\nBI\r\n".$image[0]." ID\r\n".$image[1]." EI\r\n",
     409                $content
     410            );
    338411        }
    339412
  • full-text-search/trunk/vendor/smalot/pdfparser/src/Smalot/PdfParser/Page.php

    r3045777 r3138583  
    5454     */
    5555    protected $dataTm;
     56
     57    /**
     58     * @param array<\Smalot\PdfParser\Font> $fonts
     59     *
     60     * @internal
     61     */
     62    public function setFonts($fonts)
     63    {
     64        if (empty($this->fonts)) {
     65            $this->fonts = $fonts;
     66        }
     67    }
    5668
    5769    /**
     
    514526                    $extractedData[] = $command;
    515527                    break;
    516 
     528                    /*
     529                     * cm
     530                     * Concatenation Matrix that will transform all following Tm
     531                     */
     532                case 'cm':
     533                    $extractedData[] = $command;
     534                    break;
    517535                    /*
    518536                     * ET
     
    629647                    $extractedData[] = $command;
    630648                    break;
     649                    /*
     650                     * q
     651                     * Save current graphics state to stack
     652                     */
     653                case 'q':
     654                    /*
     655                     * Q
     656                     * Load last saved graphics state from stack
     657                     */
     658                case 'Q':
     659                    $extractedData[] = $command;
     660                    break;
    631661                default:
    632662            }
     
    660690         */
    661691        $defaultTm = ['1', '0', '0', '1', '0', '0'];
    662 
     692        $concatTm = ['1', '0', '0', '1', '0', '0'];
     693        $graphicsStatesStack = [];
    663694        /*
    664695         *  Set the text leading used by T*, ' and " operators
     
    719750                    break;
    720751
     752                case 'cm':
     753                    $newConcatTm = (array) explode(' ', $command['c']);
     754                    $TempMatrix = [];
     755                    // Multiply with previous concatTm
     756                    $TempMatrix[0] = (float) $concatTm[0] * (float) $newConcatTm[0] + (float) $concatTm[1] * (float) $newConcatTm[2];
     757                    $TempMatrix[1] = (float) $concatTm[0] * (float) $newConcatTm[1] + (float) $concatTm[1] * (float) $newConcatTm[3];
     758                    $TempMatrix[2] = (float) $concatTm[2] * (float) $newConcatTm[0] + (float) $concatTm[3] * (float) $newConcatTm[2];
     759                    $TempMatrix[3] = (float) $concatTm[2] * (float) $newConcatTm[1] + (float) $concatTm[3] * (float) $newConcatTm[3];
     760                    $TempMatrix[4] = (float) $concatTm[4] * (float) $newConcatTm[0] + (float) $concatTm[5] * (float) $newConcatTm[2] + (float) $newConcatTm[4];
     761                    $TempMatrix[5] = (float) $concatTm[4] * (float) $newConcatTm[1] + (float) $concatTm[5] * (float) $newConcatTm[3] + (float) $newConcatTm[5];
     762                    $concatTm = $TempMatrix;
     763                    break;
    721764                    /*
    722765                     * ET
     
    775818                case 'Tm':
    776819                    $Tm = explode(' ', $command['c']);
     820                    $TempMatrix = [];
     821                    $TempMatrix[0] = (float) $Tm[0] * (float) $concatTm[0] + (float) $Tm[1] * (float) $concatTm[2];
     822                    $TempMatrix[1] = (float) $Tm[0] * (float) $concatTm[1] + (float) $Tm[1] * (float) $concatTm[3];
     823                    $TempMatrix[2] = (float) $Tm[2] * (float) $concatTm[0] + (float) $Tm[3] * (float) $concatTm[2];
     824                    $TempMatrix[3] = (float) $Tm[2] * (float) $concatTm[1] + (float) $Tm[3] * (float) $concatTm[3];
     825                    $TempMatrix[4] = (float) $Tm[4] * (float) $concatTm[0] + (float) $Tm[5] * (float) $concatTm[2] + (float) $concatTm[4];
     826                    $TempMatrix[5] = (float) $Tm[4] * (float) $concatTm[1] + (float) $Tm[5] * (float) $concatTm[3] + (float) $concatTm[5];
     827                    $Tm = $TempMatrix;
    777828                    $Tx = (float) $Tm[$x];
    778829                    $Ty = (float) $Tm[$y];
     
    868919                    }
    869920                    $extractedData[] = $data;
     921                    break;
     922                    /*
     923                     * q
     924                     * Save current graphics state to stack
     925                     */
     926                case 'q':
     927                    $graphicsStatesStack[] = $concatTm;
     928                    break;
     929                    /*
     930                     * Q
     931                     * Load last saved graphics state from stack
     932                     */
     933                case 'Q':
     934                    $concatTm = array_pop($graphicsStatesStack);
    870935                    break;
    871936                default:
  • full-text-search/trunk/vendor/smalot/pdfparser/src/Smalot/PdfParser/Pages.php

    r2830383 r3138583  
    4141{
    4242    /**
    43      * @todo Objects other than Pages or Page might need to be treated specifically in order to get Page objects out of them,
     43     * @var array<\Smalot\PdfParser\Font>|null
     44     */
     45    protected $fonts;
     46
     47    /**
     48     * @todo Objects other than Pages or Page might need to be treated specifically
     49     *       in order to get Page objects out of them.
    4450     *
    4551     * @see https://github.com/smalot/pdfparser/issues/331
     
    5864        }
    5965
     66        // Prepare to apply the Pages' object's fonts to each page
     67        if (false === \is_array($this->fonts)) {
     68            $this->setupFonts();
     69        }
     70        $fontsAvailable = 0 < \count($this->fonts);
     71
    6072        $kids = $kidsElement->getContent();
    6173        $pages = [];
     
    6577                $pages = array_merge($pages, $kid->getPages(true));
    6678            } elseif ($kid instanceof Page) {
     79                if ($fontsAvailable) {
     80                    $kid->setFonts($this->fonts);
     81                }
    6782                $pages[] = $kid;
    6883            }
     
    7186        return $pages;
    7287    }
     88
     89    /**
     90     * Gathers information about fonts and collects them in a list.
     91     *
     92     * @return void
     93     *
     94     * @internal
     95     */
     96    protected function setupFonts()
     97    {
     98        $resources = $this->get('Resources');
     99
     100        if (method_exists($resources, 'has') && $resources->has('Font')) {
     101            // no fonts available, therefore stop here
     102            if ($resources->get('Font') instanceof Element\ElementMissing) {
     103                return;
     104            }
     105
     106            if ($resources->get('Font') instanceof Header) {
     107                $fonts = $resources->get('Font')->getElements();
     108            } else {
     109                $fonts = $resources->get('Font')->getHeader()->getElements();
     110            }
     111
     112            $table = [];
     113
     114            foreach ($fonts as $id => $font) {
     115                if ($font instanceof Font) {
     116                    $table[$id] = $font;
     117
     118                    // Store too on cleaned id value (only numeric)
     119                    $id = preg_replace('/[^0-9\.\-_]/', '', $id);
     120                    if ('' != $id) {
     121                        $table[$id] = $font;
     122                    }
     123                }
     124            }
     125
     126            $this->fonts = $table;
     127        } else {
     128            $this->fonts = [];
     129        }
     130    }
    73131}
  • full-text-search/trunk/vendor/smalot/pdfparser/src/Smalot/PdfParser/RawData/FilterHelper.php

    r2951448 r3138583  
    283283        $bitstring = '';
    284284        for ($i = 0; $i < $data_length; ++$i) {
    285             $bitstring .= sprintf('%08b', \ord($data[$i]));
     285            $bitstring .= \sprintf('%08b', \ord($data[$i]));
    286286        }
    287287        // get the number of bits
  • full-text-search/trunk/vendor/smalot/pdfparser/src/Smalot/PdfParser/RawData/RawDataParser.php

    r3079423 r3138583  
    215215            }
    216216            if (preg_match('/Prev[\s]+([0-9]+)/i', $trailer_data, $matches) > 0) {
    217                 // get previous xref
    218                 $xref = $this->getXrefData($pdfData, (int) $matches[1], $xref);
     217                $offset = (int) $matches[1];
     218                if (0 != $offset) {
     219                    // get previous xref
     220                    $xref = $this->getXrefData($pdfData, $offset, $xref);
     221                }
    219222            }
    220223        } else {
  • full-text-search/trunk/vendor/symfony/polyfill-mbstring/Mbstring.php

    r3014035 r3138583  
    4949 * - mb_strwidth             - Return width of string
    5050 * - mb_substr_count         - Count the number of substring occurrences
     51 * - mb_ucfirst              - Make a string's first character uppercase
     52 * - mb_lcfirst              - Make a string's first character lowercase
    5153 *
    5254 * Not implemented:
     
    8183    public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null)
    8284    {
     85        if (\is_array($s)) {
     86            if (PHP_VERSION_ID < 70200) {
     87                trigger_error('mb_convert_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING);
     88
     89                return null;
     90            }
     91
     92            $r = [];
     93            foreach ($s as $str) {
     94                $r[] = self::mb_convert_encoding($str, $toEncoding, $fromEncoding);
     95            }
     96
     97            return $r;
     98        }
     99
    83100        if (\is_array($fromEncoding) || (null !== $fromEncoding && false !== strpos($fromEncoding, ','))) {
    84101            $fromEncoding = self::mb_detect_encoding($s, $fromEncoding);
     
    411428    public static function mb_check_encoding($var = null, $encoding = null)
    412429    {
    413         if (PHP_VERSION_ID < 70200 && \is_array($var)) {
     430        if (\PHP_VERSION_ID < 70200 && \is_array($var)) {
    414431            trigger_error('mb_check_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING);
    415432
     
    438455
    439456        return true;
    440 
    441457    }
    442458
     
    828844    }
    829845
    830     public static function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = \STR_PAD_RIGHT, string $encoding = null): string
     846    public static function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = \STR_PAD_RIGHT, ?string $encoding = null): string
    831847    {
    832848        if (!\in_array($pad_type, [\STR_PAD_RIGHT, \STR_PAD_LEFT, \STR_PAD_BOTH], true)) {
     
    836852        if (null === $encoding) {
    837853            $encoding = self::mb_internal_encoding();
    838         }
    839 
    840         try {
    841             $validEncoding = @self::mb_check_encoding('', $encoding);
    842         } catch (\ValueError $e) {
    843             throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding));
    844         }
    845 
    846         // BC for PHP 7.3 and lower
    847         if (!$validEncoding) {
    848             throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding));
     854        } else {
     855            self::assertEncoding($encoding, 'mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given');
    849856        }
    850857
     
    872879    }
    873880
     881    public static function mb_ucfirst(string $string, ?string $encoding = null): string
     882    {
     883        if (null === $encoding) {
     884            $encoding = self::mb_internal_encoding();
     885        } else {
     886            self::assertEncoding($encoding, 'mb_ucfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given');
     887        }
     888
     889        $firstChar = mb_substr($string, 0, 1, $encoding);
     890        $firstChar = mb_convert_case($firstChar, \MB_CASE_TITLE, $encoding);
     891
     892        return $firstChar.mb_substr($string, 1, null, $encoding);
     893    }
     894
     895    public static function mb_lcfirst(string $string, ?string $encoding = null): string
     896    {
     897        if (null === $encoding) {
     898            $encoding = self::mb_internal_encoding();
     899        } else {
     900            self::assertEncoding($encoding, 'mb_lcfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given');
     901        }
     902
     903        $firstChar = mb_substr($string, 0, 1, $encoding);
     904        $firstChar = mb_convert_case($firstChar, \MB_CASE_LOWER, $encoding);
     905
     906        return $firstChar.mb_substr($string, 1, null, $encoding);
     907    }
     908
    874909    private static function getSubpart($pos, $part, $haystack, $encoding)
    875910    {
     
    945980        return $encoding;
    946981    }
     982
     983    private static function assertEncoding(string $encoding, string $errorFormat): void
     984    {
     985        try {
     986            $validEncoding = @self::mb_check_encoding('', $encoding);
     987        } catch (\ValueError $e) {
     988            throw new \ValueError(\sprintf($errorFormat, $encoding));
     989        }
     990
     991        // BC for PHP 7.3 and lower
     992        if (!$validEncoding) {
     993            throw new \ValueError(\sprintf($errorFormat, $encoding));
     994        }
     995    }
    947996}
  • full-text-search/trunk/vendor/symfony/polyfill-mbstring/bootstrap.php

    r3014035 r3138583  
    137137}
    138138
     139if (!function_exists('mb_ucfirst')) {
     140    function mb_ucfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); }
     141}
     142
     143if (!function_exists('mb_lcfirst')) {
     144    function mb_lcfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); }
     145}
     146
    139147if (extension_loaded('mbstring')) {
    140148    return;
  • full-text-search/trunk/vendor/symfony/polyfill-mbstring/bootstrap80.php

    r3014035 r3138583  
    133133}
    134134
     135if (!function_exists('mb_ucfirst')) {
     136    function mb_ucfirst($string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); }
     137}
     138
     139if (!function_exists('mb_lcfirst')) {
     140    function mb_lcfirst($string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); }
     141}
     142
    135143if (extension_loaded('mbstring')) {
    136144    return;
Note: See TracChangeset for help on using the changeset viewer.