Skip to content

Navigation Menu

Sign in
Appearance settings

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

Provide feedback

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

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Unordered list from HTML rendered with wrong item level text #2827

Open
Labels
@bjoern-weinbrenner

Description

Describe the bug and add attachments

Since version 1.4.0 there is a bug when adding content from HTML and an unordered list is contained. The bullet point icons can't be rendered on Windows computers.

Please find attached a sample file generated with 1.4.0 with the code example below ("Steps to reproduce")

PHPWord_ul_issue.docx

On Windows computers it looks like this:

Image

On Mac the bullet point is rendered, but smaller

Image

The issue comes from this fix: 2e4f3cf. It was part of

#2159 # ListItem object doesn't get added to ODText document
#2620 # empty li on odf (docx ok)
#2669 # Writer ODText: Support for ListItemRun

The bug causing change was:

 return [
 'type' => 'hybridMultilevel',
 'levels' => [
- ['format' => NumberFormat::BULLET, 'text' => '', 'alignment' => 'left', 'tabPos' => 720, 'left' => 720, 'hanging' => 360, 'font' => 'Symbol', 'hint' => 'default'],
- ['format' => NumberFormat::BULLET, 'text' => 'o', 'alignment' => 'left', 'tabPos' => 1440, 'left' => 1440, 'hanging' => 360, 'font' => 'Courier New', 'hint' => 'default'],
- ['format' => NumberFormat::BULLET, 'text' => '', 'alignment' => 'left', 'tabPos' => 2160, 'left' => 2160, 'hanging' => 360, 'font' => 'Wingdings', 'hint' => 'default'],
- ['format' => NumberFormat::BULLET, 'text' => '', 'alignment' => 'left', 'tabPos' => 2880, 'left' => 2880, 'hanging' => 360, 'font' => 'Symbol', 'hint' => 'default'],
- ['format' => NumberFormat::BULLET, 'text' => 'o', 'alignment' => 'left', 'tabPos' => 3600, 'left' => 3600, 'hanging' => 360, 'font' => 'Courier New', 'hint' => 'default'],
- ['format' => NumberFormat::BULLET, 'text' => '', 'alignment' => 'left', 'tabPos' => 4320, 'left' => 4320, 'hanging' => 360, 'font' => 'Wingdings', 'hint' => 'default'],
- ['format' => NumberFormat::BULLET, 'text' => '', 'alignment' => 'left', 'tabPos' => 5040, 'left' => 5040, 'hanging' => 360, 'font' => 'Symbol', 'hint' => 'default'],
- ['format' => NumberFormat::BULLET, 'text' => 'o', 'alignment' => 'left', 'tabPos' => 5760, 'left' => 5760, 'hanging' => 360, 'font' => 'Courier New', 'hint' => 'default'],
- ['format' => NumberFormat::BULLET, 'text' => '', 'alignment' => 'left', 'tabPos' => 6480, 'left' => 6480, 'hanging' => 360, 'font' => 'Wingdings', 'hint' => 'default'],
+ ['format' => NumberFormat::BULLET, 'text' => '•', 'alignment' => 'left', 'tabPos' => 720, 'left' => 720, 'hanging' => 360, 'font' => 'Symbol', 'hint' => 'default'],
+ ['format' => NumberFormat::BULLET, 'text' => '◦', 'alignment' => 'left', 'tabPos' => 1440, 'left' => 1440, 'hanging' => 360, 'font' => 'Courier New', 'hint' => 'default'],
+ ['format' => NumberFormat::BULLET, 'text' => '•', 'alignment' => 'left', 'tabPos' => 2160, 'left' => 2160, 'hanging' => 360, 'font' => 'Wingdings', 'hint' => 'default'],
+ ['format' => NumberFormat::BULLET, 'text' => '•', 'alignment' => 'left', 'tabPos' => 2880, 'left' => 2880, 'hanging' => 360, 'font' => 'Symbol', 'hint' => 'default'],
+ ['format' => NumberFormat::BULLET, 'text' => '◦', 'alignment' => 'left', 'tabPos' => 3600, 'left' => 3600, 'hanging' => 360, 'font' => 'Courier New', 'hint' => 'default'],
+ ['format' => NumberFormat::BULLET, 'text' => '•', 'alignment' => 'left', 'tabPos' => 4320, 'left' => 4320, 'hanging' => 360, 'font' => 'Wingdings', 'hint' => 'default'],
+ ['format' => NumberFormat::BULLET, 'text' => '•', 'alignment' => 'left', 'tabPos' => 5040, 'left' => 5040, 'hanging' => 360, 'font' => 'Symbol', 'hint' => 'default'],
+ ['format' => NumberFormat::BULLET, 'text' => '◦', 'alignment' => 'left', 'tabPos' => 5760, 'left' => 5760, 'hanging' => 360, 'font' => 'Courier New', 'hint' => 'default'],
+ ['format' => NumberFormat::BULLET, 'text' => '•', 'alignment' => 'left', 'tabPos' => 6480, 'left' => 6480, 'hanging' => 360, 'font' => 'Wingdings', 'hint' => 'default'],
 ],
 ];
 }

When unordered list a created with PHPWord functions the bug doesn't exist. See src/PhpWord/Style/ListItem.php:

 self::TYPE_SQUARE_FILLED => [
 'type' => 'hybridMultilevel',
 'levels' => [
 0 => '1, bullet, , left, 720, 720, 360, Wingdings, default',
 1 => '1, bullet, o, left, 1440, 1440, 360, Courier New, default',
 2 => '1, bullet, , left, 2160, 2160, 360, Wingdings, default',
 3 => '1, bullet, , left, 2880, 2880, 360, Symbol, default',
 4 => '1, bullet, o, left, 3600, 3600, 360, Courier New, default',
 5 => '1, bullet, , left, 4320, 4320, 360, Wingdings, default',
 6 => '1, bullet, , left, 5040, 5040, 360, Symbol, default',
 7 => '1, bullet, o, left, 5760, 5760, 360, Courier New, default',
 8 => '1, bullet, , left, 6480, 6480, 360, Wingdings, default',
 ],
 ],
 self::TYPE_BULLET_FILLED => [
 'type' => 'hybridMultilevel',
 'levels' => [
 0 => '1, bullet, , left, 720, 720, 360, Symbol, default',
 1 => '1, bullet, o, left, 1440, 1440, 360, Courier New, default',
 2 => '1, bullet, , left, 2160, 2160, 360, Wingdings, default',
 3 => '1, bullet, , left, 2880, 2880, 360, Symbol, default',
 4 => '1, bullet, o, left, 3600, 3600, 360, Courier New, default',
 5 => '1, bullet, , left, 4320, 4320, 360, Wingdings, default',
 6 => '1, bullet, , left, 5040, 5040, 360, Symbol, default',
 7 => '1, bullet, o, left, 5760, 5760, 360, Courier New, default',
 8 => '1, bullet, , left, 6480, 6480, 360, Wingdings, default',
 ],
 ],
 self::TYPE_BULLET_EMPTY => [
 'type' => 'hybridMultilevel',
 'levels' => [
 0 => '1, bullet, o, left, 720, 720, 360, Courier New, default',
 1 => '1, bullet, o, left, 1440, 1440, 360, Courier New, default',
 2 => '1, bullet, , left, 2160, 2160, 360, Wingdings, default',
 3 => '1, bullet, , left, 2880, 2880, 360, Symbol, default',
 4 => '1, bullet, o, left, 3600, 3600, 360, Courier New, default',
 5 => '1, bullet, , left, 4320, 4320, 360, Wingdings, default',
 6 => '1, bullet, , left, 5040, 5040, 360, Symbol, default',
 7 => '1, bullet, o, left, 5760, 5760, 360, Courier New, default',
 8 => '1, bullet, , left, 6480, 6480, 360, Wingdings, default',
 ],
 ],

Is it possible to roll back the change of the icon texts?

Expected behavior

I expect that the bullet points are rendered like this

Image

That's how it looks when the document is created without HTML

 $section->addListItem('List Item 1', 0, null, ListItem::TYPE_BULLET_FILLED);
 $section->addListItem('List Item 2', 0, null, ListItem::TYPE_BULLET_FILLED);

Steps to reproduce

<?php
require __DIR__ . '/vendor/autoload.php';
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
$html = '<ul><li>List item</li></ul>';
Html::addHtml($section, $html);

PHPWord version(s) where the bug happened

1.4.0

PHP version(s) where the bug happened

8.4

Priority

  • I want to crowdfund the bug fix (with @algora-io) and fund a community developer.
  • I want to pay the bug fix and fund a maintainer for that. (Contact @Progi1984)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /