@itfin/components 1.0.6 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -1
- package/src/assets/loading.css +49 -0
- package/src/assets/scss/components/_selected.scss +4 -0
- package/src/assets/scss/components/_states.scss +2 -1
- package/src/components/app/App.vue +1 -1
- package/src/components/button/Button.vue +2 -1
- package/src/components/datepicker/DateRangePicker.vue +1 -1
- package/src/components/form/Label.vue +2 -0
- package/src/components/icon/Icon.vue +8 -3
- package/src/components/icon/components/airplay.vue +1 -0
- package/src/components/icon/components/alarm_clock.vue +1 -0
- package/src/components/icon/components/align_horizontal.vue +1 -0
- package/src/components/icon/components/align_vertical.vue +1 -0
- package/src/components/icon/components/angle.vue +1 -0
- package/src/components/icon/components/archive.vue +1 -0
- package/src/components/icon/components/arrow_bottom_left.vue +1 -0
- package/src/components/icon/components/arrow_bottom_right.vue +1 -0
- package/src/components/icon/components/arrow_down.vue +1 -0
- package/src/components/icon/components/arrow_down_circle.vue +1 -0
- package/src/components/icon/components/arrow_left.vue +1 -0
- package/src/components/icon/components/arrow_left_circle.vue +1 -0
- package/src/components/icon/components/arrow_right.vue +1 -0
- package/src/components/icon/components/arrow_right_circle.vue +1 -0
- package/src/components/icon/components/arrow_top_left.vue +1 -0
- package/src/components/icon/components/arrow_top_right.vue +1 -0
- package/src/components/icon/components/arrow_up.vue +1 -0
- package/src/components/icon/components/arrow_up_circle.vue +1 -0
- package/src/components/icon/components/audio_wave.vue +1 -0
- package/src/components/icon/components/backspace.vue +1 -0
- package/src/components/icon/components/backward.vue +1 -0
- package/src/components/icon/components/bag.vue +1 -0
- package/src/components/icon/components/battery_75.vue +1 -0
- package/src/components/icon/components/battery_charging.vue +1 -0
- package/src/components/icon/components/battery_empty.vue +1 -0
- package/src/components/icon/components/battery_full.vue +1 -0
- package/src/components/icon/components/battery_half.vue +1 -0
- package/src/components/icon/components/battery_low.vue +1 -0
- package/src/components/icon/components/bell.vue +1 -0
- package/src/components/icon/components/bell_disabled.vue +1 -0
- package/src/components/icon/components/bell_ringing.vue +1 -0
- package/src/components/icon/components/bell_snooze.vue +1 -0
- package/src/components/icon/components/bluetooth.vue +1 -0
- package/src/components/icon/components/book.vue +1 -0
- package/src/components/icon/components/book_closed.vue +1 -0
- package/src/components/icon/components/book_text.vue +1 -0
- package/src/components/icon/components/bookmark.vue +1 -0
- package/src/components/icon/components/bookmark_book.vue +1 -0
- package/src/components/icon/components/box.vue +1 -0
- package/src/components/icon/components/box_download.vue +1 -0
- package/src/components/icon/components/box_open.vue +1 -0
- package/src/components/icon/components/branch.vue +1 -0
- package/src/components/icon/components/briefcase.vue +1 -0
- package/src/components/icon/components/browser.vue +1 -0
- package/src/components/icon/components/browser_alt.vue +1 -0
- package/src/components/icon/components/button_add.vue +1 -0
- package/src/components/icon/components/button_minus.vue +1 -0
- package/src/components/icon/components/calculator.vue +1 -0
- package/src/components/icon/components/calendar.vue +1 -0
- package/src/components/icon/components/calendar_add.vue +1 -0
- package/src/components/icon/components/calendar_date.vue +1 -0
- package/src/components/icon/components/calendar_day.vue +1 -0
- package/src/components/icon/components/calendar_days.vue +1 -0
- package/src/components/icon/components/calendar_last_day.vue +1 -0
- package/src/components/icon/components/calendar_month.vue +1 -0
- package/src/components/icon/components/calendar_move.vue +1 -0
- package/src/components/icon/components/calendar_remove.vue +1 -0
- package/src/components/icon/components/calendar_split.vue +1 -0
- package/src/components/icon/components/calendar_week.vue +1 -0
- package/src/components/icon/components/camera.vue +1 -0
- package/src/components/icon/components/camera_alt.vue +1 -0
- package/src/components/icon/components/camera_noflash.vue +1 -0
- package/src/components/icon/components/camera_noflash_alt.vue +1 -0
- package/src/components/icon/components/capture.vue +1 -0
- package/src/components/icon/components/card_timeline.vue +1 -0
- package/src/components/icon/components/card_view.vue +1 -0
- package/src/components/icon/components/carousel.vue +1 -0
- package/src/components/icon/components/cart.vue +1 -0
- package/src/components/icon/components/cast.vue +1 -0
- package/src/components/icon/components/chain.vue +1 -0
- package/src/components/icon/components/chat_add.vue +1 -0
- package/src/components/icon/components/check.vue +1 -0
- package/src/components/icon/components/check_circle.vue +1 -0
- package/src/components/icon/components/check_circle_outside.vue +1 -0
- package/src/components/icon/components/checkbox_checked.vue +1 -0
- package/src/components/icon/components/checkbox_empty.vue +1 -0
- package/src/components/icon/components/chevron_close.vue +1 -0
- package/src/components/icon/components/chevron_down.vue +1 -0
- package/src/components/icon/components/chevron_down_circle.vue +1 -0
- package/src/components/icon/components/chevron_down_double.vue +1 -0
- package/src/components/icon/components/chevron_left.vue +1 -0
- package/src/components/icon/components/chevron_left_circle.vue +1 -0
- package/src/components/icon/components/chevron_left_double.vue +1 -0
- package/src/components/icon/components/chevron_open.vue +1 -0
- package/src/components/icon/components/chevron_right.vue +1 -0
- package/src/components/icon/components/chevron_right_circle.vue +1 -0
- package/src/components/icon/components/chevron_right_double.vue +1 -0
- package/src/components/icon/components/chevron_up.vue +1 -0
- package/src/components/icon/components/chevron_up_circle.vue +1 -0
- package/src/components/icon/components/chevron_up_double.vue +1 -0
- package/src/components/icon/components/circle.vue +1 -0
- package/src/components/icon/components/circle_menu.vue +1 -0
- package/src/components/icon/components/circle_split.vue +1 -0
- package/src/components/icon/components/clipboard.vue +1 -0
- package/src/components/icon/components/clipboard_add.vue +1 -0
- package/src/components/icon/components/clipboard_check.vue +1 -0
- package/src/components/icon/components/clipboard_copy.vue +1 -0
- package/src/components/icon/components/clipboard_cross.vue +1 -0
- package/src/components/icon/components/clipboard_notes.vue +1 -0
- package/src/components/icon/components/clipboard_remove.vue +1 -0
- package/src/components/icon/components/clock.vue +1 -0
- package/src/components/icon/components/close.vue +1 -0
- package/src/components/icon/components/cloud.vue +1 -0
- package/src/components/icon/components/cloud_disconnect.vue +1 -0
- package/src/components/icon/components/cloud_download.vue +1 -0
- package/src/components/icon/components/cloud_download_alt.vue +1 -0
- package/src/components/icon/components/cloud_upload.vue +1 -0
- package/src/components/icon/components/cloud_upload_alt.vue +1 -0
- package/src/components/icon/components/code.vue +1 -0
- package/src/components/icon/components/coffee.vue +1 -0
- package/src/components/icon/components/coin.vue +1 -0
- package/src/components/icon/components/coins.vue +1 -0
- package/src/components/icon/components/compass.vue +1 -0
- package/src/components/icon/components/component_add.vue +1 -0
- package/src/components/icon/components/contacts.vue +1 -0
- package/src/components/icon/components/contract.vue +1 -0
- package/src/components/icon/components/create.vue +1 -0
- package/src/components/icon/components/credit_card.vue +1 -0
- package/src/components/icon/components/crop.vue +1 -0
- package/src/components/icon/components/cross.vue +1 -0
- package/src/components/icon/components/cross_circle.vue +1 -0
- package/src/components/icon/components/crosshair.vue +1 -0
- package/src/components/icon/components/cube.vue +1 -0
- package/src/components/icon/components/cylinder.vue +1 -0
- package/src/components/icon/components/database.vue +1 -0
- package/src/components/icon/components/diamond.vue +1 -0
- package/src/components/icon/components/directions.vue +1 -0
- package/src/components/icon/components/disc.vue +1 -0
- package/src/components/icon/components/display.vue +1 -0
- package/src/components/icon/components/display_alt.vue +1 -0
- package/src/components/icon/components/document.vue +1 -0
- package/src/components/icon/components/document_justified.vue +1 -0
- package/src/components/icon/components/document_list.vue +1 -0
- package/src/components/icon/components/document_stack.vue +1 -0
- package/src/components/icon/components/document_words.vue +1 -0
- package/src/components/icon/components/door.vue +1 -0
- package/src/components/icon/components/door_alt.vue +1 -0
- package/src/components/icon/components/download.vue +1 -0
- package/src/components/icon/components/download_alt.vue +1 -0
- package/src/components/icon/components/downward.vue +1 -0
- package/src/components/icon/components/drag.vue +1 -0
- package/src/components/icon/components/drag_circle.vue +1 -0
- package/src/components/icon/components/drag_vertical.vue +1 -0
- package/src/components/icon/components/duplicate.vue +1 -0
- package/src/components/icon/components/duplicate_alt.vue +1 -0
- package/src/components/icon/components/enter.vue +1 -0
- package/src/components/icon/components/enter_alt.vue +1 -0
- package/src/components/icon/components/episodes.vue +1 -0
- package/src/components/icon/components/exit_left.vue +1 -0
- package/src/components/icon/components/exit_right.vue +1 -0
- package/src/components/icon/components/expand.vue +1 -0
- package/src/components/icon/components/expand_height.vue +1 -0
- package/src/components/icon/components/expand_width.vue +1 -0
- package/src/components/icon/components/external.vue +1 -0
- package/src/components/icon/components/eye.vue +1 -0
- package/src/components/icon/components/eye_closed.vue +1 -0
- package/src/components/icon/components/eye_no.vue +1 -0
- package/src/components/icon/components/face_delighted.vue +1 -0
- package/src/components/icon/components/face_happy.vue +1 -0
- package/src/components/icon/components/face_neutral.vue +1 -0
- package/src/components/icon/components/face_sad.vue +1 -0
- package/src/components/icon/components/file_download.vue +1 -0
- package/src/components/icon/components/file_upload.vue +1 -0
- package/src/components/icon/components/files_history.vue +1 -0
- package/src/components/icon/components/files_multi.vue +1 -0
- package/src/components/icon/components/files_stack.vue +1 -0
- package/src/components/icon/components/film.vue +1 -0
- package/src/components/icon/components/filter.vue +1 -0
- package/src/components/icon/components/filter_circle.vue +1 -0
- package/src/components/icon/components/filter_single.vue +1 -0
- package/src/components/icon/components/filtering.vue +1 -0
- package/src/components/icon/components/fingerprint.vue +1 -0
- package/src/components/icon/components/flag.vue +1 -0
- package/src/components/icon/components/flame.vue +7 -0
- package/src/components/icon/components/flame_alt.vue +1 -0
- package/src/components/icon/components/flip_view.vue +1 -0
- package/src/components/icon/components/floppy.vue +1 -0
- package/src/components/icon/components/folder_add.vue +1 -0
- package/src/components/icon/components/folder_closed.vue +1 -0
- package/src/components/icon/components/folder_minus.vue +1 -0
- package/src/components/icon/components/folder_open.vue +1 -0
- package/src/components/icon/components/fork_git.vue +1 -0
- package/src/components/icon/components/forward.vue +1 -0
- package/src/components/icon/components/frame.vue +1 -0
- package/src/components/icon/components/fullscreen.vue +1 -0
- package/src/components/icon/components/funnel.vue +1 -0
- package/src/components/icon/components/gauge.vue +1 -0
- package/src/components/icon/components/gift.vue +1 -0
- package/src/components/icon/components/globe.vue +1 -0
- package/src/components/icon/components/gps.vue +1 -0
- package/src/components/icon/components/grab.vue +1 -0
- package/src/components/icon/components/graph_bar.vue +1 -0
- package/src/components/icon/components/graph_box.vue +1 -0
- package/src/components/icon/components/graph_increase.vue +1 -0
- package/src/components/icon/components/grid.vue +1 -0
- package/src/components/icon/components/grid_circles.vue +1 -0
- package/src/components/icon/components/grid_circles_add.vue +1 -0
- package/src/components/icon/components/grid_small.vue +1 -0
- package/src/components/icon/components/grid_squares.vue +1 -0
- package/src/components/icon/components/grid_squares_add.vue +1 -0
- package/src/components/icon/components/hand.vue +1 -0
- package/src/components/icon/components/harddrive.vue +1 -0
- package/src/components/icon/components/hash.vue +1 -0
- package/src/components/icon/components/heart.vue +1 -0
- package/src/components/icon/components/heart_rate.vue +1 -0
- package/src/components/icon/components/heart_remove.vue +1 -0
- package/src/components/icon/components/height.vue +1 -0
- package/src/components/icon/components/hierarchy.vue +1 -0
- package/src/components/icon/components/home.vue +1 -0
- package/src/components/icon/components/home_alt.vue +1 -0
- package/src/components/icon/components/home_check.vue +1 -0
- package/src/components/icon/components/home_door.vue +1 -0
- package/src/components/icon/components/import.vue +1 -0
- package/src/components/icon/components/inbox.vue +1 -0
- package/src/components/icon/components/inbox_alt.vue +1 -0
- package/src/components/icon/components/info_circle.vue +1 -0
- package/src/components/icon/components/iphone_landscape.vue +1 -0
- package/src/components/icon/components/iphone_portrait.vue +1 -0
- package/src/components/icon/components/jump_backward.vue +1 -0
- package/src/components/icon/components/jump_forward.vue +1 -0
- package/src/components/icon/components/jump_left.vue +1 -0
- package/src/components/icon/components/jump_right.vue +1 -0
- package/src/components/icon/components/keyboard.vue +1 -0
- package/src/components/icon/components/laptop.vue +1 -0
- package/src/components/icon/components/lightbulb.vue +1 -0
- package/src/components/icon/components/lightbulb_on.vue +1 -0
- package/src/components/icon/components/lightning.vue +1 -0
- package/src/components/icon/components/lightning_alt.vue +1 -0
- package/src/components/icon/components/lineweight.vue +1 -0
- package/src/components/icon/components/link.vue +1 -0
- package/src/components/icon/components/link_alt.vue +1 -0
- package/src/components/icon/components/link_broken.vue +1 -0
- package/src/components/icon/components/link_horizontal.vue +1 -0
- package/src/components/icon/components/link_vertical.vue +1 -0
- package/src/components/icon/components/list.vue +1 -0
- package/src/components/icon/components/list_add.vue +1 -0
- package/src/components/icon/components/list_numbered.vue +1 -0
- package/src/components/icon/components/loader.vue +1 -0
- package/src/components/icon/components/location.vue +1 -0
- package/src/components/icon/components/lock.vue +1 -0
- package/src/components/icon/components/lock_open.vue +1 -0
- package/src/components/icon/components/mail.vue +1 -0
- package/src/components/icon/components/mail_add.vue +1 -0
- package/src/components/icon/components/mail_delete.vue +1 -0
- package/src/components/icon/components/mail_minus.vue +1 -0
- package/src/components/icon/components/mail_new.vue +1 -0
- package/src/components/icon/components/mail_open.vue +1 -0
- package/src/components/icon/components/mail_remove.vue +1 -0
- package/src/components/icon/components/marquee.vue +1 -0
- package/src/components/icon/components/maximise.vue +1 -0
- package/src/components/icon/components/menu_hamburger.vue +1 -0
- package/src/components/icon/components/menu_horizontal.vue +1 -0
- package/src/components/icon/components/menu_vertical.vue +1 -0
- package/src/components/icon/components/message.vue +1 -0
- package/src/components/icon/components/message_writing.vue +1 -0
- package/src/components/icon/components/microphone.vue +1 -0
- package/src/components/icon/components/microphone_disabled.vue +1 -0
- package/src/components/icon/components/microphone_muted.vue +1 -0
- package/src/components/icon/components/midpoint.vue +1 -0
- package/src/components/icon/components/mini_player.vue +1 -0
- package/src/components/icon/components/minimise.vue +1 -0
- package/src/components/icon/components/minus.vue +1 -0
- package/src/components/icon/components/minus_circle.vue +1 -0
- package/src/components/icon/components/moon.vue +1 -0
- package/src/components/icon/components/move.vue +1 -0
- package/src/components/icon/components/newspaper.vue +1 -0
- package/src/components/icon/components/no_sign.vue +1 -0
- package/src/components/icon/components/notebook.vue +1 -0
- package/src/components/icon/components/notification.vue +1 -0
- package/src/components/icon/components/nut.vue +1 -0
- package/src/components/icon/components/pages.vue +1 -0
- package/src/components/icon/components/panel_bottom.vue +1 -0
- package/src/components/icon/components/panel_center.vue +1 -0
- package/src/components/icon/components/panel_left.vue +1 -0
- package/src/components/icon/components/panel_right.vue +1 -0
- package/src/components/icon/components/panel_sectioned.vue +1 -0
- package/src/components/icon/components/panel_top.vue +1 -0
- package/src/components/icon/components/paper.vue +1 -0
- package/src/components/icon/components/paper_folded.vue +1 -0
- package/src/components/icon/components/paper_plane.vue +1 -0
- package/src/components/icon/components/paper_plane_alt.vue +1 -0
- package/src/components/icon/components/paperclip.vue +1 -0
- package/src/components/icon/components/paragraph_center.vue +1 -0
- package/src/components/icon/components/paragraph_end.vue +1 -0
- package/src/components/icon/components/paragraph_left.vue +1 -0
- package/src/components/icon/components/paragraph_right.vue +1 -0
- package/src/components/icon/components/paragraph_start.vue +1 -0
- package/src/components/icon/components/pen.vue +1 -0
- package/src/components/icon/components/phone_landscape.vue +1 -0
- package/src/components/icon/components/phone_portrait.vue +1 -0
- package/src/components/icon/components/picture.vue +1 -0
- package/src/components/icon/components/pie_half.vue +1 -0
- package/src/components/icon/components/pie_quarter.vue +1 -0
- package/src/components/icon/components/pie_third.vue +1 -0
- package/src/components/icon/components/play_button.vue +1 -0
- package/src/components/icon/components/plus.vue +1 -0
- package/src/components/icon/components/plus_circle.vue +1 -0
- package/src/components/icon/components/postcard.vue +1 -0
- package/src/components/icon/components/printer.vue +1 -0
- package/src/components/icon/components/projector.vue +1 -0
- package/src/components/icon/components/pull_down.vue +1 -0
- package/src/components/icon/components/pull_left.vue +1 -0
- package/src/components/icon/components/pull_right.vue +1 -0
- package/src/components/icon/components/pull_up.vue +1 -0
- package/src/components/icon/components/push_down.vue +1 -0
- package/src/components/icon/components/push_left.vue +1 -0
- package/src/components/icon/components/push_right.vue +1 -0
- package/src/components/icon/components/push_up.vue +1 -0
- package/src/components/icon/components/question_circle.vue +1 -0
- package/src/components/icon/components/radio_on.vue +1 -0
- package/src/components/icon/components/receipt.vue +1 -0
- package/src/components/icon/components/record.vue +1 -0
- package/src/components/icon/components/redo.vue +1 -0
- package/src/components/icon/components/refresh.vue +1 -0
- package/src/components/icon/components/refresh_alt.vue +1 -0
- package/src/components/icon/components/replicate.vue +1 -0
- package/src/components/icon/components/replicate_alt.vue +1 -0
- package/src/components/icon/components/reset.vue +1 -0
- package/src/components/icon/components/reset_alt.vue +1 -0
- package/src/components/icon/components/reset_forward.vue +1 -0
- package/src/components/icon/components/reset_hard.vue +1 -0
- package/src/components/icon/components/reset_temporary.vue +1 -0
- package/src/components/icon/components/retweet.vue +1 -0
- package/src/components/icon/components/reuse.vue +1 -0
- package/src/components/icon/components/reverse.vue +1 -0
- package/src/components/icon/components/reverse_alt.vue +1 -0
- package/src/components/icon/components/revert.vue +1 -0
- package/src/components/icon/components/rocket.vue +1 -0
- package/src/components/icon/components/ruler.vue +1 -0
- package/src/components/icon/components/scale.vue +1 -0
- package/src/components/icon/components/scale_contract.vue +1 -0
- package/src/components/icon/components/scale_extend.vue +1 -0
- package/src/components/icon/components/scalpel.vue +1 -0
- package/src/components/icon/components/search.vue +1 -0
- package/src/components/icon/components/server.vue +1 -0
- package/src/components/icon/components/settings.vue +1 -0
- package/src/components/icon/components/share.vue +1 -0
- package/src/components/icon/components/share_alt.vue +1 -0
- package/src/components/icon/components/shuffle.vue +1 -0
- package/src/components/icon/components/side_menu.vue +1 -0
- package/src/components/icon/components/slash_backward.vue +1 -0
- package/src/components/icon/components/slash_forward.vue +1 -0
- package/src/components/icon/components/sliders.vue +1 -0
- package/src/components/icon/components/sort.vue +1 -0
- package/src/components/icon/components/sort_alt.vue +1 -0
- package/src/components/icon/components/speaker.vue +1 -0
- package/src/components/icon/components/speech_bubble.vue +1 -0
- package/src/components/icon/components/speech_typing.vue +1 -0
- package/src/components/icon/components/split.vue +1 -0
- package/src/components/icon/components/split_three.vue +1 -0
- package/src/components/icon/components/star.vue +1 -0
- package/src/components/icon/components/sun.vue +1 -0
- package/src/components/icon/components/support.vue +1 -0
- package/src/components/icon/components/swap.vue +1 -0
- package/src/components/icon/components/switch.vue +1 -0
- package/src/components/icon/components/table.vue +1 -0
- package/src/components/icon/components/table_header.vue +1 -0
- package/src/components/icon/components/tag.vue +1 -0
- package/src/components/icon/components/tag_milestone.vue +1 -0
- package/src/components/icon/components/tags.vue +1 -0
- package/src/components/icon/components/target.vue +1 -0
- package/src/components/icon/components/thread.vue +1 -0
- package/src/components/icon/components/thumbs_down.vue +1 -0
- package/src/components/icon/components/thumbs_up.vue +1 -0
- package/src/components/icon/components/ticket.vue +1 -0
- package/src/components/icon/components/timeline.vue +1 -0
- package/src/components/icon/components/todo.vue +1 -0
- package/src/components/icon/components/toggle.vue +1 -0
- package/src/components/icon/components/toggles.vue +1 -0
- package/src/components/icon/components/translate.vue +1 -0
- package/src/components/icon/components/trash.vue +1 -0
- package/src/components/icon/components/trash_alt.vue +1 -0
- package/src/components/icon/components/trophy.vue +1 -0
- package/src/components/icon/components/tv_mode.vue +1 -0
- package/src/components/icon/components/unarchive.vue +1 -0
- package/src/components/icon/components/undo.vue +1 -0
- package/src/components/icon/components/undo_history.vue +1 -0
- package/src/components/icon/components/unlink_horizontal.vue +1 -0
- package/src/components/icon/components/unlink_vertical.vue +1 -0
- package/src/components/icon/components/upload.vue +1 -0
- package/src/components/icon/components/upload_alt.vue +1 -0
- package/src/components/icon/components/upward.vue +1 -0
- package/src/components/icon/components/user.vue +1 -0
- package/src/components/icon/components/user_add.vue +1 -0
- package/src/components/icon/components/user_circle.vue +1 -0
- package/src/components/icon/components/user_male.vue +1 -0
- package/src/components/icon/components/user_male_circle.vue +1 -0
- package/src/components/icon/components/user_remove.vue +1 -0
- package/src/components/icon/components/users.vue +1 -0
- package/src/components/icon/components/venn.vue +1 -0
- package/src/components/icon/components/version.vue +1 -0
- package/src/components/icon/components/versions.vue +1 -0
- package/src/components/icon/components/video.vue +1 -0
- package/src/components/icon/components/volume_0.vue +1 -0
- package/src/components/icon/components/volume_add.vue +1 -0
- package/src/components/icon/components/volume_disabled.vue +1 -0
- package/src/components/icon/components/volume_high.vue +1 -0
- package/src/components/icon/components/volume_low.vue +1 -0
- package/src/components/icon/components/volume_minus.vue +1 -0
- package/src/components/icon/components/volume_muted.vue +1 -0
- package/src/components/icon/components/wallet.vue +1 -0
- package/src/components/icon/components/warning_circle.vue +1 -0
- package/src/components/icon/components/warning_hex.vue +1 -0
- package/src/components/icon/components/warning_triangle.vue +1 -0
- package/src/components/icon/components/waves.vue +1 -0
- package/src/components/icon/components/width.vue +1 -0
- package/src/components/icon/components/wifi.vue +1 -0
- package/src/components/icon/components/wifi_error.vue +1 -0
- package/src/components/icon/components/wifi_none.vue +1 -0
- package/src/components/icon/components/window.vue +1 -0
- package/src/components/icon/components/window_collapse_left.vue +1 -0
- package/src/components/icon/components/window_collapse_right.vue +1 -0
- package/src/components/icon/components/window_content.vue +1 -0
- package/src/components/icon/components/wrap_back.vue +1 -0
- package/src/components/icon/components/wrap_forward.vue +1 -0
- package/src/components/icon/components/write.vue +1 -0
- package/src/components/icon/components/zoom_cancel.vue +1 -0
- package/src/components/icon/components/zoom_in.vue +1 -0
- package/src/components/icon/components/zoom_out.vue +1 -0
- package/src/components/icon/components/zoom_reset.vue +1 -0
- package/src/components/icon/convert-icons.js +24 -0
- package/src/components/icon/icons/airplay.svg +1 -0
- package/src/components/icon/icons/alarm_clock.svg +1 -0
- package/src/components/icon/icons/align_horizontal.svg +1 -0
- package/src/components/icon/icons/align_vertical.svg +1 -0
- package/src/components/icon/icons/angle.svg +1 -0
- package/src/components/icon/icons/archive.svg +1 -0
- package/src/components/icon/icons/arrow_bottom_left.svg +1 -0
- package/src/components/icon/icons/arrow_bottom_right.svg +1 -0
- package/src/components/icon/icons/arrow_down.svg +1 -0
- package/src/components/icon/icons/arrow_down_circle.svg +1 -0
- package/src/components/icon/icons/arrow_left.svg +1 -0
- package/src/components/icon/icons/arrow_left_circle.svg +1 -0
- package/src/components/icon/icons/arrow_right.svg +1 -0
- package/src/components/icon/icons/arrow_right_circle.svg +1 -0
- package/src/components/icon/icons/arrow_top_left.svg +1 -0
- package/src/components/icon/icons/arrow_top_right.svg +1 -0
- package/src/components/icon/icons/arrow_up.svg +1 -0
- package/src/components/icon/icons/arrow_up_circle.svg +1 -0
- package/src/components/icon/icons/audio_wave.svg +1 -0
- package/src/components/icon/icons/backspace.svg +1 -0
- package/src/components/icon/icons/backward.svg +1 -0
- package/src/components/icon/icons/bag.svg +1 -0
- package/src/components/icon/icons/battery_75.svg +1 -0
- package/src/components/icon/icons/battery_charging.svg +1 -0
- package/src/components/icon/icons/battery_empty.svg +1 -0
- package/src/components/icon/icons/battery_full.svg +1 -0
- package/src/components/icon/icons/battery_half.svg +1 -0
- package/src/components/icon/icons/battery_low.svg +1 -0
- package/src/components/icon/icons/bell.svg +1 -0
- package/src/components/icon/icons/bell_disabled.svg +1 -0
- package/src/components/icon/icons/bell_ringing.svg +1 -0
- package/src/components/icon/icons/bell_snooze.svg +1 -0
- package/src/components/icon/icons/bluetooth.svg +1 -0
- package/src/components/icon/icons/book.svg +1 -0
- package/src/components/icon/icons/book_closed.svg +1 -0
- package/src/components/icon/icons/book_text.svg +1 -0
- package/src/components/icon/icons/bookmark.svg +1 -0
- package/src/components/icon/icons/bookmark_book.svg +1 -0
- package/src/components/icon/icons/box.svg +1 -0
- package/src/components/icon/icons/box_download.svg +1 -0
- package/src/components/icon/icons/box_open.svg +1 -0
- package/src/components/icon/icons/branch.svg +1 -0
- package/src/components/icon/icons/briefcase.svg +1 -0
- package/src/components/icon/icons/browser.svg +1 -0
- package/src/components/icon/icons/browser_alt.svg +1 -0
- package/src/components/icon/icons/button_add.svg +1 -0
- package/src/components/icon/icons/button_minus.svg +1 -0
- package/src/components/icon/icons/calculator.svg +1 -0
- package/src/components/icon/icons/calendar.svg +1 -0
- package/src/components/icon/icons/calendar_add.svg +1 -0
- package/src/components/icon/icons/calendar_date.svg +1 -0
- package/src/components/icon/icons/calendar_day.svg +1 -0
- package/src/components/icon/icons/calendar_days.svg +1 -0
- package/src/components/icon/icons/calendar_last_day.svg +1 -0
- package/src/components/icon/icons/calendar_month.svg +1 -0
- package/src/components/icon/icons/calendar_move.svg +1 -0
- package/src/components/icon/icons/calendar_remove.svg +1 -0
- package/src/components/icon/icons/calendar_split.svg +1 -0
- package/src/components/icon/icons/calendar_week.svg +1 -0
- package/src/components/icon/icons/camera.svg +1 -0
- package/src/components/icon/icons/camera_alt.svg +1 -0
- package/src/components/icon/icons/camera_noflash.svg +1 -0
- package/src/components/icon/icons/camera_noflash_alt.svg +1 -0
- package/src/components/icon/icons/capture.svg +1 -0
- package/src/components/icon/icons/card_timeline.svg +1 -0
- package/src/components/icon/icons/card_view.svg +1 -0
- package/src/components/icon/icons/carousel.svg +1 -0
- package/src/components/icon/icons/cart.svg +1 -0
- package/src/components/icon/icons/cast.svg +1 -0
- package/src/components/icon/icons/chain.svg +1 -0
- package/src/components/icon/icons/chat_add.svg +1 -0
- package/src/components/icon/icons/check.svg +1 -0
- package/src/components/icon/icons/check_circle.svg +1 -0
- package/src/components/icon/icons/check_circle_outside.svg +1 -0
- package/src/components/icon/icons/checkbox_checked.svg +1 -0
- package/src/components/icon/icons/checkbox_empty.svg +1 -0
- package/src/components/icon/icons/chevron_close.svg +1 -0
- package/src/components/icon/icons/chevron_down.svg +1 -0
- package/src/components/icon/icons/chevron_down_circle.svg +1 -0
- package/src/components/icon/icons/chevron_down_double.svg +1 -0
- package/src/components/icon/icons/chevron_left.svg +1 -0
- package/src/components/icon/icons/chevron_left_circle.svg +1 -0
- package/src/components/icon/icons/chevron_left_double.svg +1 -0
- package/src/components/icon/icons/chevron_open.svg +1 -0
- package/src/components/icon/icons/chevron_right.svg +1 -0
- package/src/components/icon/icons/chevron_right_circle.svg +1 -0
- package/src/components/icon/icons/chevron_right_double.svg +1 -0
- package/src/components/icon/icons/chevron_up.svg +1 -0
- package/src/components/icon/icons/chevron_up_circle.svg +1 -0
- package/src/components/icon/icons/chevron_up_double.svg +1 -0
- package/src/components/icon/icons/circle.svg +1 -0
- package/src/components/icon/icons/circle_menu.svg +1 -0
- package/src/components/icon/icons/circle_split.svg +1 -0
- package/src/components/icon/icons/clipboard.svg +1 -0
- package/src/components/icon/icons/clipboard_add.svg +1 -0
- package/src/components/icon/icons/clipboard_check.svg +1 -0
- package/src/components/icon/icons/clipboard_copy.svg +1 -0
- package/src/components/icon/icons/clipboard_cross.svg +1 -0
- package/src/components/icon/icons/clipboard_notes.svg +1 -0
- package/src/components/icon/icons/clipboard_remove.svg +1 -0
- package/src/components/icon/icons/clock.svg +1 -0
- package/src/components/icon/icons/close.svg +1 -0
- package/src/components/icon/icons/cloud.svg +1 -0
- package/src/components/icon/icons/cloud_disconnect.svg +1 -0
- package/src/components/icon/icons/cloud_download.svg +1 -0
- package/src/components/icon/icons/cloud_download_alt.svg +1 -0
- package/src/components/icon/icons/cloud_upload.svg +1 -0
- package/src/components/icon/icons/cloud_upload_alt.svg +1 -0
- package/src/components/icon/icons/code.svg +1 -0
- package/src/components/icon/icons/coffee.svg +1 -0
- package/src/components/icon/icons/coin.svg +1 -0
- package/src/components/icon/icons/coins.svg +1 -0
- package/src/components/icon/icons/compass.svg +1 -0
- package/src/components/icon/icons/component_add.svg +1 -0
- package/src/components/icon/icons/contacts.svg +1 -0
- package/src/components/icon/icons/contract.svg +1 -0
- package/src/components/icon/icons/create.svg +1 -0
- package/src/components/icon/icons/credit_card.svg +1 -0
- package/src/components/icon/icons/crop.svg +1 -0
- package/src/components/icon/icons/cross.svg +1 -0
- package/src/components/icon/icons/cross_circle.svg +1 -0
- package/src/components/icon/icons/crosshair.svg +1 -0
- package/src/components/icon/icons/cube.svg +1 -0
- package/src/components/icon/icons/cylinder.svg +1 -0
- package/src/components/icon/icons/database.svg +1 -0
- package/src/components/icon/icons/diamond.svg +1 -0
- package/src/components/icon/icons/directions.svg +1 -0
- package/src/components/icon/icons/disc.svg +1 -0
- package/src/components/icon/icons/display.svg +1 -0
- package/src/components/icon/icons/display_alt.svg +1 -0
- package/src/components/icon/icons/document.svg +1 -0
- package/src/components/icon/icons/document_justified.svg +1 -0
- package/src/components/icon/icons/document_list.svg +1 -0
- package/src/components/icon/icons/document_stack.svg +1 -0
- package/src/components/icon/icons/document_words.svg +1 -0
- package/src/components/icon/icons/door.svg +1 -0
- package/src/components/icon/icons/door_alt.svg +1 -0
- package/src/components/icon/icons/download.svg +1 -0
- package/src/components/icon/icons/download_alt.svg +1 -0
- package/src/components/icon/icons/downward.svg +1 -0
- package/src/components/icon/icons/drag.svg +1 -0
- package/src/components/icon/icons/drag_circle.svg +1 -0
- package/src/components/icon/icons/drag_vertical.svg +1 -0
- package/src/components/icon/icons/duplicate.svg +1 -0
- package/src/components/icon/icons/duplicate_alt.svg +1 -0
- package/src/components/icon/icons/enter.svg +1 -0
- package/src/components/icon/icons/enter_alt.svg +1 -0
- package/src/components/icon/icons/episodes.svg +1 -0
- package/src/components/icon/icons/exit_left.svg +1 -0
- package/src/components/icon/icons/exit_right.svg +1 -0
- package/src/components/icon/icons/expand.svg +1 -0
- package/src/components/icon/icons/expand_height.svg +1 -0
- package/src/components/icon/icons/expand_width.svg +1 -0
- package/src/components/icon/icons/external.svg +1 -0
- package/src/components/icon/icons/eye.svg +1 -0
- package/src/components/icon/icons/eye_closed.svg +1 -0
- package/src/components/icon/icons/eye_no.svg +1 -0
- package/src/components/icon/icons/face_delighted.svg +1 -0
- package/src/components/icon/icons/face_happy.svg +1 -0
- package/src/components/icon/icons/face_neutral.svg +1 -0
- package/src/components/icon/icons/face_sad.svg +1 -0
- package/src/components/icon/icons/file_download.svg +1 -0
- package/src/components/icon/icons/file_upload.svg +1 -0
- package/src/components/icon/icons/files_history.svg +1 -0
- package/src/components/icon/icons/files_multi.svg +1 -0
- package/src/components/icon/icons/files_stack.svg +1 -0
- package/src/components/icon/icons/film.svg +1 -0
- package/src/components/icon/icons/filter.svg +1 -0
- package/src/components/icon/icons/filter_circle.svg +1 -0
- package/src/components/icon/icons/filter_single.svg +1 -0
- package/src/components/icon/icons/filtering.svg +1 -0
- package/src/components/icon/icons/fingerprint.svg +1 -0
- package/src/components/icon/icons/flag.svg +1 -0
- package/src/components/icon/icons/flame.svg +6 -0
- package/src/components/icon/icons/flame_alt.svg +1 -0
- package/src/components/icon/icons/flip_view.svg +1 -0
- package/src/components/icon/icons/floppy.svg +1 -0
- package/src/components/icon/icons/folder_add.svg +1 -0
- package/src/components/icon/icons/folder_closed.svg +1 -0
- package/src/components/icon/icons/folder_minus.svg +1 -0
- package/src/components/icon/icons/folder_open.svg +1 -0
- package/src/components/icon/icons/fork_git.svg +1 -0
- package/src/components/icon/icons/forward.svg +1 -0
- package/src/components/icon/icons/frame.svg +1 -0
- package/src/components/icon/icons/fullscreen.svg +1 -0
- package/src/components/icon/icons/funnel.svg +1 -0
- package/src/components/icon/icons/gauge.svg +1 -0
- package/src/components/icon/icons/gift.svg +1 -0
- package/src/components/icon/icons/globe.svg +1 -0
- package/src/components/icon/icons/gps.svg +1 -0
- package/src/components/icon/icons/grab.svg +1 -0
- package/src/components/icon/icons/graph_bar.svg +1 -0
- package/src/components/icon/icons/graph_box.svg +1 -0
- package/src/components/icon/icons/graph_increase.svg +1 -0
- package/src/components/icon/icons/grid.svg +1 -0
- package/src/components/icon/icons/grid_circles.svg +1 -0
- package/src/components/icon/icons/grid_circles_add.svg +1 -0
- package/src/components/icon/icons/grid_small.svg +1 -0
- package/src/components/icon/icons/grid_squares.svg +1 -0
- package/src/components/icon/icons/grid_squares_add.svg +1 -0
- package/src/components/icon/icons/hand.svg +1 -0
- package/src/components/icon/icons/harddrive.svg +1 -0
- package/src/components/icon/icons/hash.svg +1 -0
- package/src/components/icon/icons/heart.svg +1 -0
- package/src/components/icon/icons/heart_rate.svg +1 -0
- package/src/components/icon/icons/heart_remove.svg +1 -0
- package/src/components/icon/icons/height.svg +1 -0
- package/src/components/icon/icons/hierarchy.svg +1 -0
- package/src/components/icon/icons/home.svg +1 -0
- package/src/components/icon/icons/home_alt.svg +1 -0
- package/src/components/icon/icons/home_check.svg +1 -0
- package/src/components/icon/icons/home_door.svg +1 -0
- package/src/components/icon/icons/import.svg +1 -0
- package/src/components/icon/icons/inbox.svg +1 -0
- package/src/components/icon/icons/inbox_alt.svg +1 -0
- package/src/components/icon/icons/info_circle.svg +1 -0
- package/src/components/icon/icons/iphone_landscape.svg +1 -0
- package/src/components/icon/icons/iphone_portrait.svg +1 -0
- package/src/components/icon/icons/jump_backward.svg +1 -0
- package/src/components/icon/icons/jump_forward.svg +1 -0
- package/src/components/icon/icons/jump_left.svg +1 -0
- package/src/components/icon/icons/jump_right.svg +1 -0
- package/src/components/icon/icons/keyboard.svg +1 -0
- package/src/components/icon/icons/laptop.svg +1 -0
- package/src/components/icon/icons/lightbulb.svg +1 -0
- package/src/components/icon/icons/lightbulb_on.svg +1 -0
- package/src/components/icon/icons/lightning.svg +1 -0
- package/src/components/icon/icons/lightning_alt.svg +1 -0
- package/src/components/icon/icons/lineweight.svg +1 -0
- package/src/components/icon/icons/link.svg +1 -0
- package/src/components/icon/icons/link_alt.svg +1 -0
- package/src/components/icon/icons/link_broken.svg +1 -0
- package/src/components/icon/icons/link_horizontal.svg +1 -0
- package/src/components/icon/icons/link_vertical.svg +1 -0
- package/src/components/icon/icons/list.svg +1 -0
- package/src/components/icon/icons/list_add.svg +1 -0
- package/src/components/icon/icons/list_numbered.svg +1 -0
- package/src/components/icon/icons/loader.svg +1 -0
- package/src/components/icon/icons/location.svg +1 -0
- package/src/components/icon/icons/lock.svg +1 -0
- package/src/components/icon/icons/lock_open.svg +1 -0
- package/src/components/icon/icons/mail.svg +1 -0
- package/src/components/icon/icons/mail_add.svg +1 -0
- package/src/components/icon/icons/mail_delete.svg +1 -0
- package/src/components/icon/icons/mail_minus.svg +1 -0
- package/src/components/icon/icons/mail_new.svg +1 -0
- package/src/components/icon/icons/mail_open.svg +1 -0
- package/src/components/icon/icons/mail_remove.svg +1 -0
- package/src/components/icon/icons/marquee.svg +1 -0
- package/src/components/icon/icons/maximise.svg +1 -0
- package/src/components/icon/icons/menu_hamburger.svg +1 -0
- package/src/components/icon/icons/menu_horizontal.svg +1 -0
- package/src/components/icon/icons/menu_vertical.svg +1 -0
- package/src/components/icon/icons/message.svg +1 -0
- package/src/components/icon/icons/message_writing.svg +1 -0
- package/src/components/icon/icons/microphone.svg +1 -0
- package/src/components/icon/icons/microphone_disabled.svg +1 -0
- package/src/components/icon/icons/microphone_muted.svg +1 -0
- package/src/components/icon/icons/midpoint.svg +1 -0
- package/src/components/icon/icons/mini_player.svg +1 -0
- package/src/components/icon/icons/minimise.svg +1 -0
- package/src/components/icon/icons/minus.svg +1 -0
- package/src/components/icon/icons/minus_circle.svg +1 -0
- package/src/components/icon/icons/moon.svg +1 -0
- package/src/components/icon/icons/move.svg +1 -0
- package/src/components/icon/icons/newspaper.svg +1 -0
- package/src/components/icon/icons/no_sign.svg +1 -0
- package/src/components/icon/icons/notebook.svg +1 -0
- package/src/components/icon/icons/notification.svg +1 -0
- package/src/components/icon/icons/nut.svg +1 -0
- package/src/components/icon/icons/pages.svg +1 -0
- package/src/components/icon/icons/panel_bottom.svg +1 -0
- package/src/components/icon/icons/panel_center.svg +1 -0
- package/src/components/icon/icons/panel_left.svg +1 -0
- package/src/components/icon/icons/panel_right.svg +1 -0
- package/src/components/icon/icons/panel_sectioned.svg +1 -0
- package/src/components/icon/icons/panel_top.svg +1 -0
- package/src/components/icon/icons/paper.svg +1 -0
- package/src/components/icon/icons/paper_folded.svg +1 -0
- package/src/components/icon/icons/paper_plane.svg +1 -0
- package/src/components/icon/icons/paper_plane_alt.svg +1 -0
- package/src/components/icon/icons/paperclip.svg +1 -0
- package/src/components/icon/icons/paragraph_center.svg +1 -0
- package/src/components/icon/icons/paragraph_end.svg +1 -0
- package/src/components/icon/icons/paragraph_left.svg +1 -0
- package/src/components/icon/icons/paragraph_right.svg +1 -0
- package/src/components/icon/icons/paragraph_start.svg +1 -0
- package/src/components/icon/icons/pen.svg +1 -0
- package/src/components/icon/icons/phone_landscape.svg +1 -0
- package/src/components/icon/icons/phone_portrait.svg +1 -0
- package/src/components/icon/icons/picture.svg +1 -0
- package/src/components/icon/icons/pie_half.svg +1 -0
- package/src/components/icon/icons/pie_quarter.svg +1 -0
- package/src/components/icon/icons/pie_third.svg +1 -0
- package/src/components/icon/icons/play_button.svg +1 -0
- package/src/components/icon/icons/plus.svg +1 -0
- package/src/components/icon/icons/plus_circle.svg +1 -0
- package/src/components/icon/icons/postcard.svg +1 -0
- package/src/components/icon/icons/printer.svg +1 -0
- package/src/components/icon/icons/projector.svg +1 -0
- package/src/components/icon/icons/pull_down.svg +1 -0
- package/src/components/icon/icons/pull_left.svg +1 -0
- package/src/components/icon/icons/pull_right.svg +1 -0
- package/src/components/icon/icons/pull_up.svg +1 -0
- package/src/components/icon/icons/push_down.svg +1 -0
- package/src/components/icon/icons/push_left.svg +1 -0
- package/src/components/icon/icons/push_right.svg +1 -0
- package/src/components/icon/icons/push_up.svg +1 -0
- package/src/components/icon/icons/question_circle.svg +1 -0
- package/src/components/icon/icons/radio_on.svg +1 -0
- package/src/components/icon/icons/receipt.svg +1 -0
- package/src/components/icon/icons/record.svg +1 -0
- package/src/components/icon/icons/redo.svg +1 -0
- package/src/components/icon/icons/refresh.svg +1 -0
- package/src/components/icon/icons/refresh_alt.svg +1 -0
- package/src/components/icon/icons/replicate.svg +1 -0
- package/src/components/icon/icons/replicate_alt.svg +1 -0
- package/src/components/icon/icons/reset.svg +1 -0
- package/src/components/icon/icons/reset_alt.svg +1 -0
- package/src/components/icon/icons/reset_forward.svg +1 -0
- package/src/components/icon/icons/reset_hard.svg +1 -0
- package/src/components/icon/icons/reset_temporary.svg +1 -0
- package/src/components/icon/icons/retweet.svg +1 -0
- package/src/components/icon/icons/reuse.svg +1 -0
- package/src/components/icon/icons/reverse.svg +1 -0
- package/src/components/icon/icons/reverse_alt.svg +1 -0
- package/src/components/icon/icons/revert.svg +1 -0
- package/src/components/icon/icons/rocket.svg +1 -0
- package/src/components/icon/icons/ruler.svg +1 -0
- package/src/components/icon/icons/scale.svg +1 -0
- package/src/components/icon/icons/scale_contract.svg +1 -0
- package/src/components/icon/icons/scale_extend.svg +1 -0
- package/src/components/icon/icons/scalpel.svg +1 -0
- package/src/components/icon/icons/search.svg +1 -0
- package/src/components/icon/icons/server.svg +1 -0
- package/src/components/icon/icons/settings.svg +1 -0
- package/src/components/icon/icons/share.svg +1 -0
- package/src/components/icon/icons/share_alt.svg +1 -0
- package/src/components/icon/icons/shuffle.svg +1 -0
- package/src/components/icon/icons/side_menu.svg +1 -0
- package/src/components/icon/icons/slash_backward.svg +1 -0
- package/src/components/icon/icons/slash_forward.svg +1 -0
- package/src/components/icon/icons/sliders.svg +1 -0
- package/src/components/icon/icons/sort.svg +1 -0
- package/src/components/icon/icons/sort_alt.svg +1 -0
- package/src/components/icon/icons/speaker.svg +1 -0
- package/src/components/icon/icons/speech_bubble.svg +1 -0
- package/src/components/icon/icons/speech_typing.svg +1 -0
- package/src/components/icon/icons/split.svg +1 -0
- package/src/components/icon/icons/split_three.svg +1 -0
- package/src/components/icon/icons/star.svg +1 -0
- package/src/components/icon/icons/sun.svg +1 -0
- package/src/components/icon/icons/support.svg +1 -0
- package/src/components/icon/icons/swap.svg +1 -0
- package/src/components/icon/icons/switch.svg +1 -0
- package/src/components/icon/icons/table.svg +1 -0
- package/src/components/icon/icons/table_header.svg +1 -0
- package/src/components/icon/icons/tag.svg +1 -0
- package/src/components/icon/icons/tag_milestone.svg +1 -0
- package/src/components/icon/icons/tags.svg +1 -0
- package/src/components/icon/icons/target.svg +1 -0
- package/src/components/icon/icons/thread.svg +1 -0
- package/src/components/icon/icons/thumbs_down.svg +1 -0
- package/src/components/icon/icons/thumbs_up.svg +1 -0
- package/src/components/icon/icons/ticket.svg +1 -0
- package/src/components/icon/icons/timeline.svg +1 -0
- package/src/components/icon/icons/todo.svg +1 -0
- package/src/components/icon/icons/toggle.svg +1 -0
- package/src/components/icon/icons/toggles.svg +1 -0
- package/src/components/icon/icons/translate.svg +1 -0
- package/src/components/icon/icons/trash.svg +1 -0
- package/src/components/icon/icons/trash_alt.svg +1 -0
- package/src/components/icon/icons/trophy.svg +1 -0
- package/src/components/icon/icons/tv_mode.svg +1 -0
- package/src/components/icon/icons/unarchive.svg +1 -0
- package/src/components/icon/icons/undo.svg +1 -0
- package/src/components/icon/icons/undo_history.svg +1 -0
- package/src/components/icon/icons/unlink_horizontal.svg +1 -0
- package/src/components/icon/icons/unlink_vertical.svg +1 -0
- package/src/components/icon/icons/upload.svg +1 -0
- package/src/components/icon/icons/upload_alt.svg +1 -0
- package/src/components/icon/icons/upward.svg +1 -0
- package/src/components/icon/icons/user.svg +1 -0
- package/src/components/icon/icons/user_add.svg +1 -0
- package/src/components/icon/icons/user_circle.svg +1 -0
- package/src/components/icon/icons/user_male.svg +1 -0
- package/src/components/icon/icons/user_male_circle.svg +1 -0
- package/src/components/icon/icons/user_remove.svg +1 -0
- package/src/components/icon/icons/users.svg +1 -0
- package/src/components/icon/icons/venn.svg +1 -0
- package/src/components/icon/icons/version.svg +1 -0
- package/src/components/icon/icons/versions.svg +1 -0
- package/src/components/icon/icons/video.svg +1 -0
- package/src/components/icon/icons/volume_0.svg +1 -0
- package/src/components/icon/icons/volume_add.svg +1 -0
- package/src/components/icon/icons/volume_disabled.svg +1 -0
- package/src/components/icon/icons/volume_high.svg +1 -0
- package/src/components/icon/icons/volume_low.svg +1 -0
- package/src/components/icon/icons/volume_minus.svg +1 -0
- package/src/components/icon/icons/volume_muted.svg +1 -0
- package/src/components/icon/icons/wallet.svg +1 -0
- package/src/components/icon/icons/warning_circle.svg +1 -0
- package/src/components/icon/icons/warning_hex.svg +1 -0
- package/src/components/icon/icons/warning_triangle.svg +1 -0
- package/src/components/icon/icons/waves.svg +1 -0
- package/src/components/icon/icons/width.svg +1 -0
- package/src/components/icon/icons/wifi.svg +1 -0
- package/src/components/icon/icons/wifi_error.svg +1 -0
- package/src/components/icon/icons/wifi_none.svg +1 -0
- package/src/components/icon/icons/window.svg +1 -0
- package/src/components/icon/icons/window_collapse_left.svg +1 -0
- package/src/components/icon/icons/window_collapse_right.svg +1 -0
- package/src/components/icon/icons/window_content.svg +1 -0
- package/src/components/icon/icons/wrap_back.svg +1 -0
- package/src/components/icon/icons/wrap_forward.svg +1 -0
- package/src/components/icon/icons/write.svg +1 -0
- package/src/components/icon/icons/zoom_cancel.svg +1 -0
- package/src/components/icon/icons/zoom_in.svg +1 -0
- package/src/components/icon/icons/zoom_out.svg +1 -0
- package/src/components/icon/icons/zoom_reset.svg +1 -0
- package/src/components/icon/icons.js +422 -0
- package/src/components/icon/index.stories.js +44 -0
- package/src/components/pdf-viewer/PdfViewer.vue +1354 -0
- package/src/components/pdf-viewer/images/loading-icon.svg +26 -0
- package/src/components/pdf-viewer/images/shadow.png +0 -0
- package/src/components/pdf-viewer/images/treeitem-collapsed.png +0 -0
- package/src/components/pdf-viewer/images/treeitem-collapsed@2x.png +0 -0
- package/src/components/pdf-viewer/images/treeitem-expanded.png +0 -0
- package/src/components/pdf-viewer/images/treeitem-expanded@2x.png +0 -0
- package/src/components/pdf-viewer/index.stories.js +44 -0
- package/src/components/pdf-viewer/pdfjs-dist/CODE_OF_CONDUCT.md +15 -0
- package/src/components/pdf-viewer/pdfjs-dist/LICENSE +177 -0
- package/src/components/pdf-viewer/pdfjs-dist/README.md +14 -0
- package/src/components/pdf-viewer/pdfjs-dist/bower.json +14 -0
- package/src/components/pdf-viewer/pdfjs-dist/build/pdf.js +13421 -0
- package/src/components/pdf-viewer/pdfjs-dist/build/pdf.js.map +1 -0
- package/src/components/pdf-viewer/pdfjs-dist/build/pdf.min.js +22 -0
- package/src/components/pdf-viewer/pdfjs-dist/build/pdf.worker.entry.js +19 -0
- package/src/components/pdf-viewer/pdfjs-dist/build/pdf.worker.js +45929 -0
- package/src/components/pdf-viewer/pdfjs-dist/build/pdf.worker.js.map +1 -0
- package/src/components/pdf-viewer/pdfjs-dist/build/pdf.worker.min.js +22 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/78-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/78-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/78-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/78-RKSJ-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/78-RKSJ-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/78-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/78ms-RKSJ-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/78ms-RKSJ-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/83pv-RKSJ-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/90ms-RKSJ-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/90ms-RKSJ-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/90msp-RKSJ-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/90msp-RKSJ-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/90pv-RKSJ-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/90pv-RKSJ-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Add-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Add-RKSJ-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Add-RKSJ-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Add-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-CNS1-0.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-CNS1-1.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-CNS1-2.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-CNS1-3.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-CNS1-4.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-CNS1-5.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-CNS1-6.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-GB1-0.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-GB1-1.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-GB1-2.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-GB1-3.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-GB1-4.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-GB1-5.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Japan1-0.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Japan1-1.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Japan1-2.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Japan1-3.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Japan1-4.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Japan1-5.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Japan1-6.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Korea1-0.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Korea1-1.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Korea1-2.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/B5-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/B5pc-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/B5pc-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/CNS-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/CNS-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/CNS1-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/CNS1-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/CNS2-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/CNS2-V.bcmap +3 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/ETHK-B5-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/ETHK-B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/ETen-B5-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/ETen-B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/ETenms-B5-H.bcmap +3 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/ETenms-B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Ext-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Ext-RKSJ-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Ext-RKSJ-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Ext-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GB-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GB-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GB-H.bcmap +4 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GB-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBK-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBK-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBK2K-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBK2K-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBKp-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBKp-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBT-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBT-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBT-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBT-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBTpc-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBTpc-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBpc-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/GBpc-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKdla-B5-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKdla-B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKdlb-B5-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKdlb-B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKgccs-B5-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKgccs-B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKm314-B5-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKm314-B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKm471-B5-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKm471-B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKscs-B5-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/HKscs-B5-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Hankaku.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Hiragana.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSC-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSC-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSC-Johab-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSC-Johab-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSCms-UHC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSCms-UHC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSCpc-EUC-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/KSCpc-EUC-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Katakana.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/LICENSE +36 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/NWP-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/NWP-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/RKSJ-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/RKSJ-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/Roman.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniGB-UCS2-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniGB-UCS2-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniGB-UTF16-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniGB-UTF16-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniGB-UTF32-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniGB-UTF32-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniGB-UTF8-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniGB-UTF8-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniKS-UCS2-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniKS-UCS2-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniKS-UTF16-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniKS-UTF16-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniKS-UTF32-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniKS-UTF32-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniKS-UTF8-H.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/UniKS-UTF8-V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/V.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/cmaps/WP-Symbol.bcmap +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/build/pdf.js +25473 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/build/pdf.js.map +1 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/build/pdf.worker.entry.js +19 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/build/pdf.worker.js +57878 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/build/pdf.worker.js.map +1 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/annotation-check.svg +11 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/annotation-comment.svg +16 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/annotation-help.svg +26 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/annotation-insert.svg +10 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/annotation-key.svg +11 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/annotation-newparagraph.svg +11 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/annotation-noicon.svg +7 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/annotation-note.svg +42 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/annotation-paragraph.svg +16 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/loading-icon.gif +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/shadow.png +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/images/texture.png +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/pdf_viewer.css +407 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/pdf_viewer.js +7757 -0
- package/src/components/pdf-viewer/pdfjs-dist/es5/web/pdf_viewer.js.map +1 -0
- package/src/components/pdf-viewer/pdfjs-dist/image_decoders/pdf.image_decoders.js +7994 -0
- package/src/components/pdf-viewer/pdfjs-dist/image_decoders/pdf.image_decoders.js.map +1 -0
- package/src/components/pdf-viewer/pdfjs-dist/image_decoders/pdf.image_decoders.min.js +22 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/README.md +7 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/annotation.js +1098 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/arithmetic_decoder.js +369 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/bidi.js +327 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/ccitt.js +720 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/ccitt_stream.js +82 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/cff_parser.js +1818 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/charsets.js +33 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/chunked_stream.js +628 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/cmap.js +912 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/colorspace.js +1061 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/core_utils.js +152 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/crypto.js +1605 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/document.js +760 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/encodings.js +69 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/evaluator.js +3576 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/font_renderer.js +981 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/fonts.js +3239 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/function.js +1366 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/glyphlist.js +4556 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/image.js +707 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/image_utils.js +94 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/jbig2.js +2223 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/jbig2_stream.js +99 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/jpeg_stream.js +236 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/jpg.js +1264 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/jpx.js +2351 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/jpx_stream.js +102 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/metrics.js +2969 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/murmurhash3.js +141 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/obj.js +2262 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/operator_list.js +672 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/parser.js +1322 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/pattern.js +954 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/pdf_manager.js +222 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/primitives.js +329 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/ps_parser.js +269 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/standard_fonts.js +759 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/stream.js +1317 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/type1_parser.js +726 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/unicode.js +1899 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/worker.js +551 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/core/worker_stream.js +168 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/annotation_layer.js +1048 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/api.js +2206 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/api_compatibility.js +47 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/canvas.js +2088 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/content_disposition.js +203 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/display_utils.js +524 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/fetch_stream.js +301 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/font_loader.js +402 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/metadata.js +143 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/network.js +572 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/network_utils.js +107 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/node_stream.js +482 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/pattern_helper.js +496 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/svg.js +1511 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/text_layer.js +698 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/transport_stream.js +370 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/webgl.js +462 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/worker_options.js +31 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/display/xml_parser.js +458 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/examples/node/domstubs.js +302 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/external/webL10n/l10n.js +1028 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/pdf.js +104 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/pdf.worker.js +29 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/shared/compatibility.js +24 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/shared/is_node.js +29 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/shared/message_handler.js +516 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/shared/util.js +837 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/annotation_spec.js +2238 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/api_spec.js +1613 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/bidi_spec.js +41 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/cff_parser_spec.js +322 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/clitests_helper.js +39 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/cmap_spec.js +357 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/colorspace_spec.js +342 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/core_utils_spec.js +211 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/crypto_spec.js +537 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/custom_spec.js +108 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/display_svg_spec.js +160 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/display_utils_spec.js +263 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/document_spec.js +42 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/encodings_spec.js +45 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/evaluator_spec.js +322 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/fetch_stream_spec.js +111 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/function_spec.js +645 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/jasmine-boot.js +155 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/message_handler_spec.js +365 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/metadata_spec.js +118 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/murmurhash3_spec.js +71 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/network_spec.js +120 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/network_utils_spec.js +349 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/node_stream_spec.js +227 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/parser_spec.js +240 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/pdf_find_controller_spec.js +199 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/pdf_find_utils_spec.js +63 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/pdf_history_spec.js +95 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/primitives_spec.js +333 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/stream_spec.js +78 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/test_utils.js +217 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/testreporter.js +102 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/type1_parser_spec.js +104 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/ui_utils_spec.js +711 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/unicode_spec.js +121 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/test/unit/util_spec.js +241 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/annotation_layer_builder.js +126 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/app.js +2424 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/app_options.js +257 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/base_viewer.js +1127 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/chromecom.js +392 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/debugger.js +670 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/download_manager.js +100 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/firefox_print_service.js +119 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/firefoxcom.js +363 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/genericcom.js +69 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/genericl10n.js +65 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/grab_to_pan.js +180 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/interfaces.js +125 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/overlay_manager.js +126 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/password_prompt.js +94 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_attachment_viewer.js +164 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_cursor_tools.js +139 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_document_properties.js +315 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_find_bar.js +226 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_find_controller.js +696 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_find_utils.js +111 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_history.js +601 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_link_service.js +455 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_outline_viewer.js +215 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_page_view.js +613 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_presentation_mode.js +420 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_print_service.js +316 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_rendering_queue.js +151 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_sidebar.js +397 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_sidebar_resizer.js +164 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_single_page_viewer.js +137 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_thumbnail_view.js +425 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_thumbnail_viewer.js +272 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_viewer.component.js +147 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/pdf_viewer.js +102 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/preferences.js +162 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/secondary_toolbar.js +333 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/text_layer_builder.js +401 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/toolbar.js +285 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/ui_utils.js +802 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/view_history.js +112 -0
- package/src/components/pdf-viewer/pdfjs-dist/lib/web/viewer_compatibility.js +38 -0
- package/src/components/pdf-viewer/pdfjs-dist/package.json +54 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/annotation-check.svg +11 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/annotation-comment.svg +16 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/annotation-help.svg +26 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/annotation-insert.svg +10 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/annotation-key.svg +11 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/annotation-newparagraph.svg +11 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/annotation-noicon.svg +7 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/annotation-note.svg +42 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/annotation-paragraph.svg +16 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/loading-icon.gif +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/shadow.png +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/images/texture.png +0 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/pdf_viewer.css +407 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/pdf_viewer.js +6394 -0
- package/src/components/pdf-viewer/pdfjs-dist/web/pdf_viewer.js.map +1 -0
- package/src/components/pdf-viewer/pdfjs-dist/webpack.js +33 -0
- package/src/components/pdf-viewer/styles/_annotation_layer_builder.scss +205 -0
- package/src/components/pdf-viewer/styles/_colors.scss +551 -0
- package/src/components/pdf-viewer/styles/_pdf_viewer.scss +131 -0
- package/src/components/pdf-viewer/styles/_text_layer_builder.scss +76 -0
- package/src/components/pdf-viewer/styles/_variables.scss +63 -0
- package/src/components/pdf-viewer/styles/_viewer.scss +1413 -0
- package/src/components/pdf-viewer/styles/index.css +0 -0
- package/src/components/pdf-viewer/styles/index.scss +4 -0
- package/src/components/pdf-viewer/utils/constants.js +1 -0
- package/src/components/pdf-viewer/utils/locale.js +290 -0
- package/src/components/pdf-viewer/utils/pdf-config.js +137 -0
- package/src/components/pdf-viewer/utils/toolbar-config.js +60 -0
- package/src/components/popover/Popover.vue +15 -2
- package/src/components/select/Select.vue +4 -2
|
@@ -0,0 +1,2223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @licstart The following is the entire license notice for the
|
|
3
|
+
* Javascript code in this page
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*
|
|
19
|
+
* @licend The above is the entire license notice for the
|
|
20
|
+
* Javascript code in this page
|
|
21
|
+
*/
|
|
22
|
+
"use strict";
|
|
23
|
+
|
|
24
|
+
Object.defineProperty(exports, "__esModule", {
|
|
25
|
+
value: true
|
|
26
|
+
});
|
|
27
|
+
exports.Jbig2Image = void 0;
|
|
28
|
+
|
|
29
|
+
var _util = require("../shared/util.js");
|
|
30
|
+
|
|
31
|
+
var _core_utils = require("./core_utils.js");
|
|
32
|
+
|
|
33
|
+
var _arithmetic_decoder = require("./arithmetic_decoder.js");
|
|
34
|
+
|
|
35
|
+
var _ccitt = require("./ccitt.js");
|
|
36
|
+
|
|
37
|
+
class Jbig2Error extends _util.BaseException {
|
|
38
|
+
constructor(msg) {
|
|
39
|
+
super(`JBIG2 error: ${msg}`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
var Jbig2Image = function Jbig2ImageClosure() {
|
|
45
|
+
function ContextCache() {}
|
|
46
|
+
|
|
47
|
+
ContextCache.prototype = {
|
|
48
|
+
getContexts(id) {
|
|
49
|
+
if (id in this) {
|
|
50
|
+
return this[id];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return this[id] = new Int8Array(1 << 16);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
function DecodingContext(data, start, end) {
|
|
59
|
+
this.data = data;
|
|
60
|
+
this.start = start;
|
|
61
|
+
this.end = end;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
DecodingContext.prototype = {
|
|
65
|
+
get decoder() {
|
|
66
|
+
var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);
|
|
67
|
+
return (0, _util.shadow)(this, "decoder", decoder);
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
get contextCache() {
|
|
71
|
+
var cache = new ContextCache();
|
|
72
|
+
return (0, _util.shadow)(this, "contextCache", cache);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
function decodeInteger(contextCache, procedure, decoder) {
|
|
78
|
+
var contexts = contextCache.getContexts(procedure);
|
|
79
|
+
var prev = 1;
|
|
80
|
+
|
|
81
|
+
function readBits(length) {
|
|
82
|
+
var v = 0;
|
|
83
|
+
|
|
84
|
+
for (var i = 0; i < length; i++) {
|
|
85
|
+
var bit = decoder.readBit(contexts, prev);
|
|
86
|
+
prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;
|
|
87
|
+
v = v << 1 | bit;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return v >>> 0;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
var sign = readBits(1);
|
|
94
|
+
var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);
|
|
95
|
+
|
|
96
|
+
if (sign === 0) {
|
|
97
|
+
return value;
|
|
98
|
+
} else if (value > 0) {
|
|
99
|
+
return -value;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function decodeIAID(contextCache, decoder, codeLength) {
|
|
106
|
+
var contexts = contextCache.getContexts("IAID");
|
|
107
|
+
var prev = 1;
|
|
108
|
+
|
|
109
|
+
for (var i = 0; i < codeLength; i++) {
|
|
110
|
+
var bit = decoder.readBit(contexts, prev);
|
|
111
|
+
prev = prev << 1 | bit;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if (codeLength < 31) {
|
|
115
|
+
return prev & (1 << codeLength) - 1;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return prev & 0x7fffffff;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
var SegmentTypes = ["SymbolDictionary", null, null, null, "IntermediateTextRegion", null, "ImmediateTextRegion", "ImmediateLosslessTextRegion", null, null, null, null, null, null, null, null, "PatternDictionary", null, null, null, "IntermediateHalftoneRegion", null, "ImmediateHalftoneRegion", "ImmediateLosslessHalftoneRegion", null, null, null, null, null, null, null, null, null, null, null, null, "IntermediateGenericRegion", null, "ImmediateGenericRegion", "ImmediateLosslessGenericRegion", "IntermediateGenericRefinementRegion", null, "ImmediateGenericRefinementRegion", "ImmediateLosslessGenericRefinementRegion", null, null, null, null, "PageInformation", "EndOfPage", "EndOfStripe", "EndOfFile", "Profiles", "Tables", null, null, null, null, null, null, null, null, "Extension"];
|
|
122
|
+
var CodingTemplates = [[{
|
|
123
|
+
x: -1,
|
|
124
|
+
y: -2
|
|
125
|
+
}, {
|
|
126
|
+
x: 0,
|
|
127
|
+
y: -2
|
|
128
|
+
}, {
|
|
129
|
+
x: 1,
|
|
130
|
+
y: -2
|
|
131
|
+
}, {
|
|
132
|
+
x: -2,
|
|
133
|
+
y: -1
|
|
134
|
+
}, {
|
|
135
|
+
x: -1,
|
|
136
|
+
y: -1
|
|
137
|
+
}, {
|
|
138
|
+
x: 0,
|
|
139
|
+
y: -1
|
|
140
|
+
}, {
|
|
141
|
+
x: 1,
|
|
142
|
+
y: -1
|
|
143
|
+
}, {
|
|
144
|
+
x: 2,
|
|
145
|
+
y: -1
|
|
146
|
+
}, {
|
|
147
|
+
x: -4,
|
|
148
|
+
y: 0
|
|
149
|
+
}, {
|
|
150
|
+
x: -3,
|
|
151
|
+
y: 0
|
|
152
|
+
}, {
|
|
153
|
+
x: -2,
|
|
154
|
+
y: 0
|
|
155
|
+
}, {
|
|
156
|
+
x: -1,
|
|
157
|
+
y: 0
|
|
158
|
+
}], [{
|
|
159
|
+
x: -1,
|
|
160
|
+
y: -2
|
|
161
|
+
}, {
|
|
162
|
+
x: 0,
|
|
163
|
+
y: -2
|
|
164
|
+
}, {
|
|
165
|
+
x: 1,
|
|
166
|
+
y: -2
|
|
167
|
+
}, {
|
|
168
|
+
x: 2,
|
|
169
|
+
y: -2
|
|
170
|
+
}, {
|
|
171
|
+
x: -2,
|
|
172
|
+
y: -1
|
|
173
|
+
}, {
|
|
174
|
+
x: -1,
|
|
175
|
+
y: -1
|
|
176
|
+
}, {
|
|
177
|
+
x: 0,
|
|
178
|
+
y: -1
|
|
179
|
+
}, {
|
|
180
|
+
x: 1,
|
|
181
|
+
y: -1
|
|
182
|
+
}, {
|
|
183
|
+
x: 2,
|
|
184
|
+
y: -1
|
|
185
|
+
}, {
|
|
186
|
+
x: -3,
|
|
187
|
+
y: 0
|
|
188
|
+
}, {
|
|
189
|
+
x: -2,
|
|
190
|
+
y: 0
|
|
191
|
+
}, {
|
|
192
|
+
x: -1,
|
|
193
|
+
y: 0
|
|
194
|
+
}], [{
|
|
195
|
+
x: -1,
|
|
196
|
+
y: -2
|
|
197
|
+
}, {
|
|
198
|
+
x: 0,
|
|
199
|
+
y: -2
|
|
200
|
+
}, {
|
|
201
|
+
x: 1,
|
|
202
|
+
y: -2
|
|
203
|
+
}, {
|
|
204
|
+
x: -2,
|
|
205
|
+
y: -1
|
|
206
|
+
}, {
|
|
207
|
+
x: -1,
|
|
208
|
+
y: -1
|
|
209
|
+
}, {
|
|
210
|
+
x: 0,
|
|
211
|
+
y: -1
|
|
212
|
+
}, {
|
|
213
|
+
x: 1,
|
|
214
|
+
y: -1
|
|
215
|
+
}, {
|
|
216
|
+
x: -2,
|
|
217
|
+
y: 0
|
|
218
|
+
}, {
|
|
219
|
+
x: -1,
|
|
220
|
+
y: 0
|
|
221
|
+
}], [{
|
|
222
|
+
x: -3,
|
|
223
|
+
y: -1
|
|
224
|
+
}, {
|
|
225
|
+
x: -2,
|
|
226
|
+
y: -1
|
|
227
|
+
}, {
|
|
228
|
+
x: -1,
|
|
229
|
+
y: -1
|
|
230
|
+
}, {
|
|
231
|
+
x: 0,
|
|
232
|
+
y: -1
|
|
233
|
+
}, {
|
|
234
|
+
x: 1,
|
|
235
|
+
y: -1
|
|
236
|
+
}, {
|
|
237
|
+
x: -4,
|
|
238
|
+
y: 0
|
|
239
|
+
}, {
|
|
240
|
+
x: -3,
|
|
241
|
+
y: 0
|
|
242
|
+
}, {
|
|
243
|
+
x: -2,
|
|
244
|
+
y: 0
|
|
245
|
+
}, {
|
|
246
|
+
x: -1,
|
|
247
|
+
y: 0
|
|
248
|
+
}]];
|
|
249
|
+
var RefinementTemplates = [{
|
|
250
|
+
coding: [{
|
|
251
|
+
x: 0,
|
|
252
|
+
y: -1
|
|
253
|
+
}, {
|
|
254
|
+
x: 1,
|
|
255
|
+
y: -1
|
|
256
|
+
}, {
|
|
257
|
+
x: -1,
|
|
258
|
+
y: 0
|
|
259
|
+
}],
|
|
260
|
+
reference: [{
|
|
261
|
+
x: 0,
|
|
262
|
+
y: -1
|
|
263
|
+
}, {
|
|
264
|
+
x: 1,
|
|
265
|
+
y: -1
|
|
266
|
+
}, {
|
|
267
|
+
x: -1,
|
|
268
|
+
y: 0
|
|
269
|
+
}, {
|
|
270
|
+
x: 0,
|
|
271
|
+
y: 0
|
|
272
|
+
}, {
|
|
273
|
+
x: 1,
|
|
274
|
+
y: 0
|
|
275
|
+
}, {
|
|
276
|
+
x: -1,
|
|
277
|
+
y: 1
|
|
278
|
+
}, {
|
|
279
|
+
x: 0,
|
|
280
|
+
y: 1
|
|
281
|
+
}, {
|
|
282
|
+
x: 1,
|
|
283
|
+
y: 1
|
|
284
|
+
}]
|
|
285
|
+
}, {
|
|
286
|
+
coding: [{
|
|
287
|
+
x: -1,
|
|
288
|
+
y: -1
|
|
289
|
+
}, {
|
|
290
|
+
x: 0,
|
|
291
|
+
y: -1
|
|
292
|
+
}, {
|
|
293
|
+
x: 1,
|
|
294
|
+
y: -1
|
|
295
|
+
}, {
|
|
296
|
+
x: -1,
|
|
297
|
+
y: 0
|
|
298
|
+
}],
|
|
299
|
+
reference: [{
|
|
300
|
+
x: 0,
|
|
301
|
+
y: -1
|
|
302
|
+
}, {
|
|
303
|
+
x: -1,
|
|
304
|
+
y: 0
|
|
305
|
+
}, {
|
|
306
|
+
x: 0,
|
|
307
|
+
y: 0
|
|
308
|
+
}, {
|
|
309
|
+
x: 1,
|
|
310
|
+
y: 0
|
|
311
|
+
}, {
|
|
312
|
+
x: 0,
|
|
313
|
+
y: 1
|
|
314
|
+
}, {
|
|
315
|
+
x: 1,
|
|
316
|
+
y: 1
|
|
317
|
+
}]
|
|
318
|
+
}];
|
|
319
|
+
var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];
|
|
320
|
+
var RefinementReusedContexts = [0x0020, 0x0008];
|
|
321
|
+
|
|
322
|
+
function decodeBitmapTemplate0(width, height, decodingContext) {
|
|
323
|
+
var decoder = decodingContext.decoder;
|
|
324
|
+
var contexts = decodingContext.contextCache.getContexts("GB");
|
|
325
|
+
var contextLabel,
|
|
326
|
+
i,
|
|
327
|
+
j,
|
|
328
|
+
pixel,
|
|
329
|
+
row,
|
|
330
|
+
row1,
|
|
331
|
+
row2,
|
|
332
|
+
bitmap = [];
|
|
333
|
+
var OLD_PIXEL_MASK = 0x7bf7;
|
|
334
|
+
|
|
335
|
+
for (i = 0; i < height; i++) {
|
|
336
|
+
row = bitmap[i] = new Uint8Array(width);
|
|
337
|
+
row1 = i < 1 ? row : bitmap[i - 1];
|
|
338
|
+
row2 = i < 2 ? row : bitmap[i - 2];
|
|
339
|
+
contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;
|
|
340
|
+
|
|
341
|
+
for (j = 0; j < width; j++) {
|
|
342
|
+
row[j] = pixel = decoder.readBit(contexts, contextLabel);
|
|
343
|
+
contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
return bitmap;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {
|
|
351
|
+
if (mmr) {
|
|
352
|
+
const input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
|
|
353
|
+
return decodeMMRBitmap(input, width, height, false);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {
|
|
357
|
+
return decodeBitmapTemplate0(width, height, decodingContext);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
var useskip = !!skip;
|
|
361
|
+
var template = CodingTemplates[templateIndex].concat(at);
|
|
362
|
+
template.sort(function (a, b) {
|
|
363
|
+
return a.y - b.y || a.x - b.x;
|
|
364
|
+
});
|
|
365
|
+
var templateLength = template.length;
|
|
366
|
+
var templateX = new Int8Array(templateLength);
|
|
367
|
+
var templateY = new Int8Array(templateLength);
|
|
368
|
+
var changingTemplateEntries = [];
|
|
369
|
+
var reuseMask = 0,
|
|
370
|
+
minX = 0,
|
|
371
|
+
maxX = 0,
|
|
372
|
+
minY = 0;
|
|
373
|
+
var c, k;
|
|
374
|
+
|
|
375
|
+
for (k = 0; k < templateLength; k++) {
|
|
376
|
+
templateX[k] = template[k].x;
|
|
377
|
+
templateY[k] = template[k].y;
|
|
378
|
+
minX = Math.min(minX, template[k].x);
|
|
379
|
+
maxX = Math.max(maxX, template[k].x);
|
|
380
|
+
minY = Math.min(minY, template[k].y);
|
|
381
|
+
|
|
382
|
+
if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {
|
|
383
|
+
reuseMask |= 1 << templateLength - 1 - k;
|
|
384
|
+
} else {
|
|
385
|
+
changingTemplateEntries.push(k);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
var changingEntriesLength = changingTemplateEntries.length;
|
|
390
|
+
var changingTemplateX = new Int8Array(changingEntriesLength);
|
|
391
|
+
var changingTemplateY = new Int8Array(changingEntriesLength);
|
|
392
|
+
var changingTemplateBit = new Uint16Array(changingEntriesLength);
|
|
393
|
+
|
|
394
|
+
for (c = 0; c < changingEntriesLength; c++) {
|
|
395
|
+
k = changingTemplateEntries[c];
|
|
396
|
+
changingTemplateX[c] = template[k].x;
|
|
397
|
+
changingTemplateY[c] = template[k].y;
|
|
398
|
+
changingTemplateBit[c] = 1 << templateLength - 1 - k;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
var sbb_left = -minX;
|
|
402
|
+
var sbb_top = -minY;
|
|
403
|
+
var sbb_right = width - maxX;
|
|
404
|
+
var pseudoPixelContext = ReusedContexts[templateIndex];
|
|
405
|
+
var row = new Uint8Array(width);
|
|
406
|
+
var bitmap = [];
|
|
407
|
+
var decoder = decodingContext.decoder;
|
|
408
|
+
var contexts = decodingContext.contextCache.getContexts("GB");
|
|
409
|
+
var ltp = 0,
|
|
410
|
+
j,
|
|
411
|
+
i0,
|
|
412
|
+
j0,
|
|
413
|
+
contextLabel = 0,
|
|
414
|
+
bit,
|
|
415
|
+
shift;
|
|
416
|
+
|
|
417
|
+
for (var i = 0; i < height; i++) {
|
|
418
|
+
if (prediction) {
|
|
419
|
+
var sltp = decoder.readBit(contexts, pseudoPixelContext);
|
|
420
|
+
ltp ^= sltp;
|
|
421
|
+
|
|
422
|
+
if (ltp) {
|
|
423
|
+
bitmap.push(row);
|
|
424
|
+
continue;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
row = new Uint8Array(row);
|
|
429
|
+
bitmap.push(row);
|
|
430
|
+
|
|
431
|
+
for (j = 0; j < width; j++) {
|
|
432
|
+
if (useskip && skip[i][j]) {
|
|
433
|
+
row[j] = 0;
|
|
434
|
+
continue;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
if (j >= sbb_left && j < sbb_right && i >= sbb_top) {
|
|
438
|
+
contextLabel = contextLabel << 1 & reuseMask;
|
|
439
|
+
|
|
440
|
+
for (k = 0; k < changingEntriesLength; k++) {
|
|
441
|
+
i0 = i + changingTemplateY[k];
|
|
442
|
+
j0 = j + changingTemplateX[k];
|
|
443
|
+
bit = bitmap[i0][j0];
|
|
444
|
+
|
|
445
|
+
if (bit) {
|
|
446
|
+
bit = changingTemplateBit[k];
|
|
447
|
+
contextLabel |= bit;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
} else {
|
|
451
|
+
contextLabel = 0;
|
|
452
|
+
shift = templateLength - 1;
|
|
453
|
+
|
|
454
|
+
for (k = 0; k < templateLength; k++, shift--) {
|
|
455
|
+
j0 = j + templateX[k];
|
|
456
|
+
|
|
457
|
+
if (j0 >= 0 && j0 < width) {
|
|
458
|
+
i0 = i + templateY[k];
|
|
459
|
+
|
|
460
|
+
if (i0 >= 0) {
|
|
461
|
+
bit = bitmap[i0][j0];
|
|
462
|
+
|
|
463
|
+
if (bit) {
|
|
464
|
+
contextLabel |= bit << shift;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
var pixel = decoder.readBit(contexts, contextLabel);
|
|
472
|
+
row[j] = pixel;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
return bitmap;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {
|
|
480
|
+
var codingTemplate = RefinementTemplates[templateIndex].coding;
|
|
481
|
+
|
|
482
|
+
if (templateIndex === 0) {
|
|
483
|
+
codingTemplate = codingTemplate.concat([at[0]]);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
var codingTemplateLength = codingTemplate.length;
|
|
487
|
+
var codingTemplateX = new Int32Array(codingTemplateLength);
|
|
488
|
+
var codingTemplateY = new Int32Array(codingTemplateLength);
|
|
489
|
+
var k;
|
|
490
|
+
|
|
491
|
+
for (k = 0; k < codingTemplateLength; k++) {
|
|
492
|
+
codingTemplateX[k] = codingTemplate[k].x;
|
|
493
|
+
codingTemplateY[k] = codingTemplate[k].y;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
var referenceTemplate = RefinementTemplates[templateIndex].reference;
|
|
497
|
+
|
|
498
|
+
if (templateIndex === 0) {
|
|
499
|
+
referenceTemplate = referenceTemplate.concat([at[1]]);
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
var referenceTemplateLength = referenceTemplate.length;
|
|
503
|
+
var referenceTemplateX = new Int32Array(referenceTemplateLength);
|
|
504
|
+
var referenceTemplateY = new Int32Array(referenceTemplateLength);
|
|
505
|
+
|
|
506
|
+
for (k = 0; k < referenceTemplateLength; k++) {
|
|
507
|
+
referenceTemplateX[k] = referenceTemplate[k].x;
|
|
508
|
+
referenceTemplateY[k] = referenceTemplate[k].y;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
var referenceWidth = referenceBitmap[0].length;
|
|
512
|
+
var referenceHeight = referenceBitmap.length;
|
|
513
|
+
var pseudoPixelContext = RefinementReusedContexts[templateIndex];
|
|
514
|
+
var bitmap = [];
|
|
515
|
+
var decoder = decodingContext.decoder;
|
|
516
|
+
var contexts = decodingContext.contextCache.getContexts("GR");
|
|
517
|
+
var ltp = 0;
|
|
518
|
+
|
|
519
|
+
for (var i = 0; i < height; i++) {
|
|
520
|
+
if (prediction) {
|
|
521
|
+
var sltp = decoder.readBit(contexts, pseudoPixelContext);
|
|
522
|
+
ltp ^= sltp;
|
|
523
|
+
|
|
524
|
+
if (ltp) {
|
|
525
|
+
throw new Jbig2Error("prediction is not supported");
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
var row = new Uint8Array(width);
|
|
530
|
+
bitmap.push(row);
|
|
531
|
+
|
|
532
|
+
for (var j = 0; j < width; j++) {
|
|
533
|
+
var i0, j0;
|
|
534
|
+
var contextLabel = 0;
|
|
535
|
+
|
|
536
|
+
for (k = 0; k < codingTemplateLength; k++) {
|
|
537
|
+
i0 = i + codingTemplateY[k];
|
|
538
|
+
j0 = j + codingTemplateX[k];
|
|
539
|
+
|
|
540
|
+
if (i0 < 0 || j0 < 0 || j0 >= width) {
|
|
541
|
+
contextLabel <<= 1;
|
|
542
|
+
} else {
|
|
543
|
+
contextLabel = contextLabel << 1 | bitmap[i0][j0];
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
for (k = 0; k < referenceTemplateLength; k++) {
|
|
548
|
+
i0 = i + referenceTemplateY[k] - offsetY;
|
|
549
|
+
j0 = j + referenceTemplateX[k] - offsetX;
|
|
550
|
+
|
|
551
|
+
if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {
|
|
552
|
+
contextLabel <<= 1;
|
|
553
|
+
} else {
|
|
554
|
+
contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
var pixel = decoder.readBit(contexts, contextLabel);
|
|
559
|
+
row[j] = pixel;
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
return bitmap;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {
|
|
567
|
+
if (huffman && refinement) {
|
|
568
|
+
throw new Jbig2Error("symbol refinement with Huffman is not supported");
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
var newSymbols = [];
|
|
572
|
+
var currentHeight = 0;
|
|
573
|
+
var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);
|
|
574
|
+
var decoder = decodingContext.decoder;
|
|
575
|
+
var contextCache = decodingContext.contextCache;
|
|
576
|
+
let tableB1, symbolWidths;
|
|
577
|
+
|
|
578
|
+
if (huffman) {
|
|
579
|
+
tableB1 = getStandardTable(1);
|
|
580
|
+
symbolWidths = [];
|
|
581
|
+
symbolCodeLength = Math.max(symbolCodeLength, 1);
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
while (newSymbols.length < numberOfNewSymbols) {
|
|
585
|
+
var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, "IADH", decoder);
|
|
586
|
+
currentHeight += deltaHeight;
|
|
587
|
+
let currentWidth = 0,
|
|
588
|
+
totalWidth = 0;
|
|
589
|
+
const firstSymbol = huffman ? symbolWidths.length : 0;
|
|
590
|
+
|
|
591
|
+
while (true) {
|
|
592
|
+
var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, "IADW", decoder);
|
|
593
|
+
|
|
594
|
+
if (deltaWidth === null) {
|
|
595
|
+
break;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
currentWidth += deltaWidth;
|
|
599
|
+
totalWidth += currentWidth;
|
|
600
|
+
var bitmap;
|
|
601
|
+
|
|
602
|
+
if (refinement) {
|
|
603
|
+
var numberOfInstances = decodeInteger(contextCache, "IAAI", decoder);
|
|
604
|
+
|
|
605
|
+
if (numberOfInstances > 1) {
|
|
606
|
+
bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);
|
|
607
|
+
} else {
|
|
608
|
+
var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);
|
|
609
|
+
var rdx = decodeInteger(contextCache, "IARDX", decoder);
|
|
610
|
+
var rdy = decodeInteger(contextCache, "IARDY", decoder);
|
|
611
|
+
var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];
|
|
612
|
+
bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
newSymbols.push(bitmap);
|
|
616
|
+
} else if (huffman) {
|
|
617
|
+
symbolWidths.push(currentWidth);
|
|
618
|
+
} else {
|
|
619
|
+
bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);
|
|
620
|
+
newSymbols.push(bitmap);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
if (huffman && !refinement) {
|
|
625
|
+
const bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);
|
|
626
|
+
huffmanInput.byteAlign();
|
|
627
|
+
let collectiveBitmap;
|
|
628
|
+
|
|
629
|
+
if (bitmapSize === 0) {
|
|
630
|
+
collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);
|
|
631
|
+
} else {
|
|
632
|
+
const originalEnd = huffmanInput.end;
|
|
633
|
+
const bitmapEnd = huffmanInput.position + bitmapSize;
|
|
634
|
+
huffmanInput.end = bitmapEnd;
|
|
635
|
+
collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);
|
|
636
|
+
huffmanInput.end = originalEnd;
|
|
637
|
+
huffmanInput.position = bitmapEnd;
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
const numberOfSymbolsDecoded = symbolWidths.length;
|
|
641
|
+
|
|
642
|
+
if (firstSymbol === numberOfSymbolsDecoded - 1) {
|
|
643
|
+
newSymbols.push(collectiveBitmap);
|
|
644
|
+
} else {
|
|
645
|
+
let i,
|
|
646
|
+
y,
|
|
647
|
+
xMin = 0,
|
|
648
|
+
xMax,
|
|
649
|
+
bitmapWidth,
|
|
650
|
+
symbolBitmap;
|
|
651
|
+
|
|
652
|
+
for (i = firstSymbol; i < numberOfSymbolsDecoded; i++) {
|
|
653
|
+
bitmapWidth = symbolWidths[i];
|
|
654
|
+
xMax = xMin + bitmapWidth;
|
|
655
|
+
symbolBitmap = [];
|
|
656
|
+
|
|
657
|
+
for (y = 0; y < currentHeight; y++) {
|
|
658
|
+
symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
newSymbols.push(symbolBitmap);
|
|
662
|
+
xMin = xMax;
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
var exportedSymbols = [];
|
|
669
|
+
var flags = [],
|
|
670
|
+
currentFlag = false;
|
|
671
|
+
var totalSymbolsLength = symbols.length + numberOfNewSymbols;
|
|
672
|
+
|
|
673
|
+
while (flags.length < totalSymbolsLength) {
|
|
674
|
+
var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, "IAEX", decoder);
|
|
675
|
+
|
|
676
|
+
while (runLength--) {
|
|
677
|
+
flags.push(currentFlag);
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
currentFlag = !currentFlag;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
for (var i = 0, ii = symbols.length; i < ii; i++) {
|
|
684
|
+
if (flags[i]) {
|
|
685
|
+
exportedSymbols.push(symbols[i]);
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
for (var j = 0; j < numberOfNewSymbols; i++, j++) {
|
|
690
|
+
if (flags[i]) {
|
|
691
|
+
exportedSymbols.push(newSymbols[j]);
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
return exportedSymbols;
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {
|
|
699
|
+
if (huffman && refinement) {
|
|
700
|
+
throw new Jbig2Error("refinement with Huffman is not supported");
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
var bitmap = [];
|
|
704
|
+
var i, row;
|
|
705
|
+
|
|
706
|
+
for (i = 0; i < height; i++) {
|
|
707
|
+
row = new Uint8Array(width);
|
|
708
|
+
|
|
709
|
+
if (defaultPixelValue) {
|
|
710
|
+
for (var j = 0; j < width; j++) {
|
|
711
|
+
row[j] = defaultPixelValue;
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
bitmap.push(row);
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
var decoder = decodingContext.decoder;
|
|
719
|
+
var contextCache = decodingContext.contextCache;
|
|
720
|
+
var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, "IADT", decoder);
|
|
721
|
+
var firstS = 0;
|
|
722
|
+
i = 0;
|
|
723
|
+
|
|
724
|
+
while (i < numberOfSymbolInstances) {
|
|
725
|
+
var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, "IADT", decoder);
|
|
726
|
+
stripT += deltaT;
|
|
727
|
+
var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, "IAFS", decoder);
|
|
728
|
+
firstS += deltaFirstS;
|
|
729
|
+
var currentS = firstS;
|
|
730
|
+
|
|
731
|
+
do {
|
|
732
|
+
let currentT = 0;
|
|
733
|
+
|
|
734
|
+
if (stripSize > 1) {
|
|
735
|
+
currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, "IAIT", decoder);
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
var t = stripSize * stripT + currentT;
|
|
739
|
+
var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);
|
|
740
|
+
var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, "IARI", decoder));
|
|
741
|
+
var symbolBitmap = inputSymbols[symbolId];
|
|
742
|
+
var symbolWidth = symbolBitmap[0].length;
|
|
743
|
+
var symbolHeight = symbolBitmap.length;
|
|
744
|
+
|
|
745
|
+
if (applyRefinement) {
|
|
746
|
+
var rdw = decodeInteger(contextCache, "IARDW", decoder);
|
|
747
|
+
var rdh = decodeInteger(contextCache, "IARDH", decoder);
|
|
748
|
+
var rdx = decodeInteger(contextCache, "IARDX", decoder);
|
|
749
|
+
var rdy = decodeInteger(contextCache, "IARDY", decoder);
|
|
750
|
+
symbolWidth += rdw;
|
|
751
|
+
symbolHeight += rdh;
|
|
752
|
+
symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);
|
|
756
|
+
var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);
|
|
757
|
+
var s2, t2, symbolRow;
|
|
758
|
+
|
|
759
|
+
if (transposed) {
|
|
760
|
+
for (s2 = 0; s2 < symbolHeight; s2++) {
|
|
761
|
+
row = bitmap[offsetS + s2];
|
|
762
|
+
|
|
763
|
+
if (!row) {
|
|
764
|
+
continue;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
symbolRow = symbolBitmap[s2];
|
|
768
|
+
var maxWidth = Math.min(width - offsetT, symbolWidth);
|
|
769
|
+
|
|
770
|
+
switch (combinationOperator) {
|
|
771
|
+
case 0:
|
|
772
|
+
for (t2 = 0; t2 < maxWidth; t2++) {
|
|
773
|
+
row[offsetT + t2] |= symbolRow[t2];
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
break;
|
|
777
|
+
|
|
778
|
+
case 2:
|
|
779
|
+
for (t2 = 0; t2 < maxWidth; t2++) {
|
|
780
|
+
row[offsetT + t2] ^= symbolRow[t2];
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
break;
|
|
784
|
+
|
|
785
|
+
default:
|
|
786
|
+
throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
currentS += symbolHeight - 1;
|
|
791
|
+
} else {
|
|
792
|
+
for (t2 = 0; t2 < symbolHeight; t2++) {
|
|
793
|
+
row = bitmap[offsetT + t2];
|
|
794
|
+
|
|
795
|
+
if (!row) {
|
|
796
|
+
continue;
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
symbolRow = symbolBitmap[t2];
|
|
800
|
+
|
|
801
|
+
switch (combinationOperator) {
|
|
802
|
+
case 0:
|
|
803
|
+
for (s2 = 0; s2 < symbolWidth; s2++) {
|
|
804
|
+
row[offsetS + s2] |= symbolRow[s2];
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
break;
|
|
808
|
+
|
|
809
|
+
case 2:
|
|
810
|
+
for (s2 = 0; s2 < symbolWidth; s2++) {
|
|
811
|
+
row[offsetS + s2] ^= symbolRow[s2];
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
break;
|
|
815
|
+
|
|
816
|
+
default:
|
|
817
|
+
throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
currentS += symbolWidth - 1;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
i++;
|
|
825
|
+
var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, "IADS", decoder);
|
|
826
|
+
|
|
827
|
+
if (deltaS === null) {
|
|
828
|
+
break;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
currentS += deltaS + dsOffset;
|
|
832
|
+
} while (true);
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
return bitmap;
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {
|
|
839
|
+
const at = [];
|
|
840
|
+
|
|
841
|
+
if (!mmr) {
|
|
842
|
+
at.push({
|
|
843
|
+
x: -patternWidth,
|
|
844
|
+
y: 0
|
|
845
|
+
});
|
|
846
|
+
|
|
847
|
+
if (template === 0) {
|
|
848
|
+
at.push({
|
|
849
|
+
x: -3,
|
|
850
|
+
y: -1
|
|
851
|
+
});
|
|
852
|
+
at.push({
|
|
853
|
+
x: 2,
|
|
854
|
+
y: -2
|
|
855
|
+
});
|
|
856
|
+
at.push({
|
|
857
|
+
x: -2,
|
|
858
|
+
y: -2
|
|
859
|
+
});
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
const collectiveWidth = (maxPatternIndex + 1) * patternWidth;
|
|
864
|
+
const collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);
|
|
865
|
+
const patterns = [];
|
|
866
|
+
|
|
867
|
+
for (let i = 0; i <= maxPatternIndex; i++) {
|
|
868
|
+
const patternBitmap = [];
|
|
869
|
+
const xMin = patternWidth * i;
|
|
870
|
+
const xMax = xMin + patternWidth;
|
|
871
|
+
|
|
872
|
+
for (let y = 0; y < patternHeight; y++) {
|
|
873
|
+
patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
patterns.push(patternBitmap);
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
return patterns;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {
|
|
883
|
+
const skip = null;
|
|
884
|
+
|
|
885
|
+
if (enableSkip) {
|
|
886
|
+
throw new Jbig2Error("skip is not supported");
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
if (combinationOperator !== 0) {
|
|
890
|
+
throw new Jbig2Error("operator " + combinationOperator + " is not supported in halftone region");
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
const regionBitmap = [];
|
|
894
|
+
let i, j, row;
|
|
895
|
+
|
|
896
|
+
for (i = 0; i < regionHeight; i++) {
|
|
897
|
+
row = new Uint8Array(regionWidth);
|
|
898
|
+
|
|
899
|
+
if (defaultPixelValue) {
|
|
900
|
+
for (j = 0; j < regionWidth; j++) {
|
|
901
|
+
row[j] = defaultPixelValue;
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
regionBitmap.push(row);
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
const numberOfPatterns = patterns.length;
|
|
909
|
+
const pattern0 = patterns[0];
|
|
910
|
+
const patternWidth = pattern0[0].length,
|
|
911
|
+
patternHeight = pattern0.length;
|
|
912
|
+
const bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);
|
|
913
|
+
const at = [];
|
|
914
|
+
|
|
915
|
+
if (!mmr) {
|
|
916
|
+
at.push({
|
|
917
|
+
x: template <= 1 ? 3 : 2,
|
|
918
|
+
y: -1
|
|
919
|
+
});
|
|
920
|
+
|
|
921
|
+
if (template === 0) {
|
|
922
|
+
at.push({
|
|
923
|
+
x: -3,
|
|
924
|
+
y: -1
|
|
925
|
+
});
|
|
926
|
+
at.push({
|
|
927
|
+
x: 2,
|
|
928
|
+
y: -2
|
|
929
|
+
});
|
|
930
|
+
at.push({
|
|
931
|
+
x: -2,
|
|
932
|
+
y: -2
|
|
933
|
+
});
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
const grayScaleBitPlanes = [];
|
|
938
|
+
let mmrInput, bitmap;
|
|
939
|
+
|
|
940
|
+
if (mmr) {
|
|
941
|
+
mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
for (i = bitsPerValue - 1; i >= 0; i--) {
|
|
945
|
+
if (mmr) {
|
|
946
|
+
bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);
|
|
947
|
+
} else {
|
|
948
|
+
bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
grayScaleBitPlanes[i] = bitmap;
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
let mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;
|
|
955
|
+
|
|
956
|
+
for (mg = 0; mg < gridHeight; mg++) {
|
|
957
|
+
for (ng = 0; ng < gridWidth; ng++) {
|
|
958
|
+
bit = 0;
|
|
959
|
+
patternIndex = 0;
|
|
960
|
+
|
|
961
|
+
for (j = bitsPerValue - 1; j >= 0; j--) {
|
|
962
|
+
bit = grayScaleBitPlanes[j][mg][ng] ^ bit;
|
|
963
|
+
patternIndex |= bit << j;
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
patternBitmap = patterns[patternIndex];
|
|
967
|
+
x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;
|
|
968
|
+
y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;
|
|
969
|
+
|
|
970
|
+
if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {
|
|
971
|
+
for (i = 0; i < patternHeight; i++) {
|
|
972
|
+
regionRow = regionBitmap[y + i];
|
|
973
|
+
patternRow = patternBitmap[i];
|
|
974
|
+
|
|
975
|
+
for (j = 0; j < patternWidth; j++) {
|
|
976
|
+
regionRow[x + j] |= patternRow[j];
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
} else {
|
|
980
|
+
let regionX, regionY;
|
|
981
|
+
|
|
982
|
+
for (i = 0; i < patternHeight; i++) {
|
|
983
|
+
regionY = y + i;
|
|
984
|
+
|
|
985
|
+
if (regionY < 0 || regionY >= regionHeight) {
|
|
986
|
+
continue;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
regionRow = regionBitmap[regionY];
|
|
990
|
+
patternRow = patternBitmap[i];
|
|
991
|
+
|
|
992
|
+
for (j = 0; j < patternWidth; j++) {
|
|
993
|
+
regionX = x + j;
|
|
994
|
+
|
|
995
|
+
if (regionX >= 0 && regionX < regionWidth) {
|
|
996
|
+
regionRow[regionX] |= patternRow[j];
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
return regionBitmap;
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
function readSegmentHeader(data, start) {
|
|
1008
|
+
var segmentHeader = {};
|
|
1009
|
+
segmentHeader.number = (0, _core_utils.readUint32)(data, start);
|
|
1010
|
+
var flags = data[start + 4];
|
|
1011
|
+
var segmentType = flags & 0x3f;
|
|
1012
|
+
|
|
1013
|
+
if (!SegmentTypes[segmentType]) {
|
|
1014
|
+
throw new Jbig2Error("invalid segment type: " + segmentType);
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
segmentHeader.type = segmentType;
|
|
1018
|
+
segmentHeader.typeName = SegmentTypes[segmentType];
|
|
1019
|
+
segmentHeader.deferredNonRetain = !!(flags & 0x80);
|
|
1020
|
+
var pageAssociationFieldSize = !!(flags & 0x40);
|
|
1021
|
+
var referredFlags = data[start + 5];
|
|
1022
|
+
var referredToCount = referredFlags >> 5 & 7;
|
|
1023
|
+
var retainBits = [referredFlags & 31];
|
|
1024
|
+
var position = start + 6;
|
|
1025
|
+
|
|
1026
|
+
if (referredFlags === 7) {
|
|
1027
|
+
referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;
|
|
1028
|
+
position += 3;
|
|
1029
|
+
var bytes = referredToCount + 7 >> 3;
|
|
1030
|
+
retainBits[0] = data[position++];
|
|
1031
|
+
|
|
1032
|
+
while (--bytes > 0) {
|
|
1033
|
+
retainBits.push(data[position++]);
|
|
1034
|
+
}
|
|
1035
|
+
} else if (referredFlags === 5 || referredFlags === 6) {
|
|
1036
|
+
throw new Jbig2Error("invalid referred-to flags");
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
segmentHeader.retainBits = retainBits;
|
|
1040
|
+
let referredToSegmentNumberSize = 4;
|
|
1041
|
+
|
|
1042
|
+
if (segmentHeader.number <= 256) {
|
|
1043
|
+
referredToSegmentNumberSize = 1;
|
|
1044
|
+
} else if (segmentHeader.number <= 65536) {
|
|
1045
|
+
referredToSegmentNumberSize = 2;
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
var referredTo = [];
|
|
1049
|
+
var i, ii;
|
|
1050
|
+
|
|
1051
|
+
for (i = 0; i < referredToCount; i++) {
|
|
1052
|
+
let number;
|
|
1053
|
+
|
|
1054
|
+
if (referredToSegmentNumberSize === 1) {
|
|
1055
|
+
number = data[position];
|
|
1056
|
+
} else if (referredToSegmentNumberSize === 2) {
|
|
1057
|
+
number = (0, _core_utils.readUint16)(data, position);
|
|
1058
|
+
} else {
|
|
1059
|
+
number = (0, _core_utils.readUint32)(data, position);
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
referredTo.push(number);
|
|
1063
|
+
position += referredToSegmentNumberSize;
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
segmentHeader.referredTo = referredTo;
|
|
1067
|
+
|
|
1068
|
+
if (!pageAssociationFieldSize) {
|
|
1069
|
+
segmentHeader.pageAssociation = data[position++];
|
|
1070
|
+
} else {
|
|
1071
|
+
segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);
|
|
1072
|
+
position += 4;
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
segmentHeader.length = (0, _core_utils.readUint32)(data, position);
|
|
1076
|
+
position += 4;
|
|
1077
|
+
|
|
1078
|
+
if (segmentHeader.length === 0xffffffff) {
|
|
1079
|
+
if (segmentType === 38) {
|
|
1080
|
+
var genericRegionInfo = readRegionSegmentInformation(data, position);
|
|
1081
|
+
var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];
|
|
1082
|
+
var genericRegionMmr = !!(genericRegionSegmentFlags & 1);
|
|
1083
|
+
var searchPatternLength = 6;
|
|
1084
|
+
var searchPattern = new Uint8Array(searchPatternLength);
|
|
1085
|
+
|
|
1086
|
+
if (!genericRegionMmr) {
|
|
1087
|
+
searchPattern[0] = 0xff;
|
|
1088
|
+
searchPattern[1] = 0xac;
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;
|
|
1092
|
+
searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;
|
|
1093
|
+
searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;
|
|
1094
|
+
searchPattern[5] = genericRegionInfo.height & 0xff;
|
|
1095
|
+
|
|
1096
|
+
for (i = position, ii = data.length; i < ii; i++) {
|
|
1097
|
+
var j = 0;
|
|
1098
|
+
|
|
1099
|
+
while (j < searchPatternLength && searchPattern[j] === data[i + j]) {
|
|
1100
|
+
j++;
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
if (j === searchPatternLength) {
|
|
1104
|
+
segmentHeader.length = i + searchPatternLength;
|
|
1105
|
+
break;
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
if (segmentHeader.length === 0xffffffff) {
|
|
1110
|
+
throw new Jbig2Error("segment end was not found");
|
|
1111
|
+
}
|
|
1112
|
+
} else {
|
|
1113
|
+
throw new Jbig2Error("invalid unknown segment length");
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
|
|
1117
|
+
segmentHeader.headerEnd = position;
|
|
1118
|
+
return segmentHeader;
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
function readSegments(header, data, start, end) {
|
|
1122
|
+
var segments = [];
|
|
1123
|
+
var position = start;
|
|
1124
|
+
|
|
1125
|
+
while (position < end) {
|
|
1126
|
+
var segmentHeader = readSegmentHeader(data, position);
|
|
1127
|
+
position = segmentHeader.headerEnd;
|
|
1128
|
+
var segment = {
|
|
1129
|
+
header: segmentHeader,
|
|
1130
|
+
data
|
|
1131
|
+
};
|
|
1132
|
+
|
|
1133
|
+
if (!header.randomAccess) {
|
|
1134
|
+
segment.start = position;
|
|
1135
|
+
position += segmentHeader.length;
|
|
1136
|
+
segment.end = position;
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
segments.push(segment);
|
|
1140
|
+
|
|
1141
|
+
if (segmentHeader.type === 51) {
|
|
1142
|
+
break;
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
if (header.randomAccess) {
|
|
1147
|
+
for (var i = 0, ii = segments.length; i < ii; i++) {
|
|
1148
|
+
segments[i].start = position;
|
|
1149
|
+
position += segments[i].header.length;
|
|
1150
|
+
segments[i].end = position;
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
return segments;
|
|
1155
|
+
}
|
|
1156
|
+
|
|
1157
|
+
function readRegionSegmentInformation(data, start) {
|
|
1158
|
+
return {
|
|
1159
|
+
width: (0, _core_utils.readUint32)(data, start),
|
|
1160
|
+
height: (0, _core_utils.readUint32)(data, start + 4),
|
|
1161
|
+
x: (0, _core_utils.readUint32)(data, start + 8),
|
|
1162
|
+
y: (0, _core_utils.readUint32)(data, start + 12),
|
|
1163
|
+
combinationOperator: data[start + 16] & 7
|
|
1164
|
+
};
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
var RegionSegmentInformationFieldLength = 17;
|
|
1168
|
+
|
|
1169
|
+
function processSegment(segment, visitor) {
|
|
1170
|
+
var header = segment.header;
|
|
1171
|
+
var data = segment.data,
|
|
1172
|
+
position = segment.start,
|
|
1173
|
+
end = segment.end;
|
|
1174
|
+
var args, at, i, atLength;
|
|
1175
|
+
|
|
1176
|
+
switch (header.type) {
|
|
1177
|
+
case 0:
|
|
1178
|
+
var dictionary = {};
|
|
1179
|
+
var dictionaryFlags = (0, _core_utils.readUint16)(data, position);
|
|
1180
|
+
dictionary.huffman = !!(dictionaryFlags & 1);
|
|
1181
|
+
dictionary.refinement = !!(dictionaryFlags & 2);
|
|
1182
|
+
dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;
|
|
1183
|
+
dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;
|
|
1184
|
+
dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;
|
|
1185
|
+
dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;
|
|
1186
|
+
dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);
|
|
1187
|
+
dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);
|
|
1188
|
+
dictionary.template = dictionaryFlags >> 10 & 3;
|
|
1189
|
+
dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;
|
|
1190
|
+
position += 2;
|
|
1191
|
+
|
|
1192
|
+
if (!dictionary.huffman) {
|
|
1193
|
+
atLength = dictionary.template === 0 ? 4 : 1;
|
|
1194
|
+
at = [];
|
|
1195
|
+
|
|
1196
|
+
for (i = 0; i < atLength; i++) {
|
|
1197
|
+
at.push({
|
|
1198
|
+
x: (0, _core_utils.readInt8)(data, position),
|
|
1199
|
+
y: (0, _core_utils.readInt8)(data, position + 1)
|
|
1200
|
+
});
|
|
1201
|
+
position += 2;
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
dictionary.at = at;
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
if (dictionary.refinement && !dictionary.refinementTemplate) {
|
|
1208
|
+
at = [];
|
|
1209
|
+
|
|
1210
|
+
for (i = 0; i < 2; i++) {
|
|
1211
|
+
at.push({
|
|
1212
|
+
x: (0, _core_utils.readInt8)(data, position),
|
|
1213
|
+
y: (0, _core_utils.readInt8)(data, position + 1)
|
|
1214
|
+
});
|
|
1215
|
+
position += 2;
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
dictionary.refinementAt = at;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);
|
|
1222
|
+
position += 4;
|
|
1223
|
+
dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);
|
|
1224
|
+
position += 4;
|
|
1225
|
+
args = [dictionary, header.number, header.referredTo, data, position, end];
|
|
1226
|
+
break;
|
|
1227
|
+
|
|
1228
|
+
case 6:
|
|
1229
|
+
case 7:
|
|
1230
|
+
var textRegion = {};
|
|
1231
|
+
textRegion.info = readRegionSegmentInformation(data, position);
|
|
1232
|
+
position += RegionSegmentInformationFieldLength;
|
|
1233
|
+
var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);
|
|
1234
|
+
position += 2;
|
|
1235
|
+
textRegion.huffman = !!(textRegionSegmentFlags & 1);
|
|
1236
|
+
textRegion.refinement = !!(textRegionSegmentFlags & 2);
|
|
1237
|
+
textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;
|
|
1238
|
+
textRegion.stripSize = 1 << textRegion.logStripSize;
|
|
1239
|
+
textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;
|
|
1240
|
+
textRegion.transposed = !!(textRegionSegmentFlags & 64);
|
|
1241
|
+
textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;
|
|
1242
|
+
textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;
|
|
1243
|
+
textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;
|
|
1244
|
+
textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;
|
|
1245
|
+
|
|
1246
|
+
if (textRegion.huffman) {
|
|
1247
|
+
var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);
|
|
1248
|
+
position += 2;
|
|
1249
|
+
textRegion.huffmanFS = textRegionHuffmanFlags & 3;
|
|
1250
|
+
textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;
|
|
1251
|
+
textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;
|
|
1252
|
+
textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;
|
|
1253
|
+
textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;
|
|
1254
|
+
textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;
|
|
1255
|
+
textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;
|
|
1256
|
+
textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1259
|
+
if (textRegion.refinement && !textRegion.refinementTemplate) {
|
|
1260
|
+
at = [];
|
|
1261
|
+
|
|
1262
|
+
for (i = 0; i < 2; i++) {
|
|
1263
|
+
at.push({
|
|
1264
|
+
x: (0, _core_utils.readInt8)(data, position),
|
|
1265
|
+
y: (0, _core_utils.readInt8)(data, position + 1)
|
|
1266
|
+
});
|
|
1267
|
+
position += 2;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
textRegion.refinementAt = at;
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);
|
|
1274
|
+
position += 4;
|
|
1275
|
+
args = [textRegion, header.referredTo, data, position, end];
|
|
1276
|
+
break;
|
|
1277
|
+
|
|
1278
|
+
case 16:
|
|
1279
|
+
const patternDictionary = {};
|
|
1280
|
+
const patternDictionaryFlags = data[position++];
|
|
1281
|
+
patternDictionary.mmr = !!(patternDictionaryFlags & 1);
|
|
1282
|
+
patternDictionary.template = patternDictionaryFlags >> 1 & 3;
|
|
1283
|
+
patternDictionary.patternWidth = data[position++];
|
|
1284
|
+
patternDictionary.patternHeight = data[position++];
|
|
1285
|
+
patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);
|
|
1286
|
+
position += 4;
|
|
1287
|
+
args = [patternDictionary, header.number, data, position, end];
|
|
1288
|
+
break;
|
|
1289
|
+
|
|
1290
|
+
case 22:
|
|
1291
|
+
case 23:
|
|
1292
|
+
const halftoneRegion = {};
|
|
1293
|
+
halftoneRegion.info = readRegionSegmentInformation(data, position);
|
|
1294
|
+
position += RegionSegmentInformationFieldLength;
|
|
1295
|
+
const halftoneRegionFlags = data[position++];
|
|
1296
|
+
halftoneRegion.mmr = !!(halftoneRegionFlags & 1);
|
|
1297
|
+
halftoneRegion.template = halftoneRegionFlags >> 1 & 3;
|
|
1298
|
+
halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);
|
|
1299
|
+
halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;
|
|
1300
|
+
halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;
|
|
1301
|
+
halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);
|
|
1302
|
+
position += 4;
|
|
1303
|
+
halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);
|
|
1304
|
+
position += 4;
|
|
1305
|
+
halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
|
|
1306
|
+
position += 4;
|
|
1307
|
+
halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
|
|
1308
|
+
position += 4;
|
|
1309
|
+
halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);
|
|
1310
|
+
position += 2;
|
|
1311
|
+
halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);
|
|
1312
|
+
position += 2;
|
|
1313
|
+
args = [halftoneRegion, header.referredTo, data, position, end];
|
|
1314
|
+
break;
|
|
1315
|
+
|
|
1316
|
+
case 38:
|
|
1317
|
+
case 39:
|
|
1318
|
+
var genericRegion = {};
|
|
1319
|
+
genericRegion.info = readRegionSegmentInformation(data, position);
|
|
1320
|
+
position += RegionSegmentInformationFieldLength;
|
|
1321
|
+
var genericRegionSegmentFlags = data[position++];
|
|
1322
|
+
genericRegion.mmr = !!(genericRegionSegmentFlags & 1);
|
|
1323
|
+
genericRegion.template = genericRegionSegmentFlags >> 1 & 3;
|
|
1324
|
+
genericRegion.prediction = !!(genericRegionSegmentFlags & 8);
|
|
1325
|
+
|
|
1326
|
+
if (!genericRegion.mmr) {
|
|
1327
|
+
atLength = genericRegion.template === 0 ? 4 : 1;
|
|
1328
|
+
at = [];
|
|
1329
|
+
|
|
1330
|
+
for (i = 0; i < atLength; i++) {
|
|
1331
|
+
at.push({
|
|
1332
|
+
x: (0, _core_utils.readInt8)(data, position),
|
|
1333
|
+
y: (0, _core_utils.readInt8)(data, position + 1)
|
|
1334
|
+
});
|
|
1335
|
+
position += 2;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
genericRegion.at = at;
|
|
1339
|
+
}
|
|
1340
|
+
|
|
1341
|
+
args = [genericRegion, data, position, end];
|
|
1342
|
+
break;
|
|
1343
|
+
|
|
1344
|
+
case 48:
|
|
1345
|
+
var pageInfo = {
|
|
1346
|
+
width: (0, _core_utils.readUint32)(data, position),
|
|
1347
|
+
height: (0, _core_utils.readUint32)(data, position + 4),
|
|
1348
|
+
resolutionX: (0, _core_utils.readUint32)(data, position + 8),
|
|
1349
|
+
resolutionY: (0, _core_utils.readUint32)(data, position + 12)
|
|
1350
|
+
};
|
|
1351
|
+
|
|
1352
|
+
if (pageInfo.height === 0xffffffff) {
|
|
1353
|
+
delete pageInfo.height;
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
var pageSegmentFlags = data[position + 16];
|
|
1357
|
+
(0, _core_utils.readUint16)(data, position + 17);
|
|
1358
|
+
pageInfo.lossless = !!(pageSegmentFlags & 1);
|
|
1359
|
+
pageInfo.refinement = !!(pageSegmentFlags & 2);
|
|
1360
|
+
pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;
|
|
1361
|
+
pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;
|
|
1362
|
+
pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);
|
|
1363
|
+
pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);
|
|
1364
|
+
args = [pageInfo];
|
|
1365
|
+
break;
|
|
1366
|
+
|
|
1367
|
+
case 49:
|
|
1368
|
+
break;
|
|
1369
|
+
|
|
1370
|
+
case 50:
|
|
1371
|
+
break;
|
|
1372
|
+
|
|
1373
|
+
case 51:
|
|
1374
|
+
break;
|
|
1375
|
+
|
|
1376
|
+
case 53:
|
|
1377
|
+
args = [header.number, data, position, end];
|
|
1378
|
+
break;
|
|
1379
|
+
|
|
1380
|
+
case 62:
|
|
1381
|
+
break;
|
|
1382
|
+
|
|
1383
|
+
default:
|
|
1384
|
+
throw new Jbig2Error(`segment type ${header.typeName}(${header.type})` + " is not implemented");
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
var callbackName = "on" + header.typeName;
|
|
1388
|
+
|
|
1389
|
+
if (callbackName in visitor) {
|
|
1390
|
+
visitor[callbackName].apply(visitor, args);
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
function processSegments(segments, visitor) {
|
|
1395
|
+
for (var i = 0, ii = segments.length; i < ii; i++) {
|
|
1396
|
+
processSegment(segments[i], visitor);
|
|
1397
|
+
}
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1400
|
+
function parseJbig2Chunks(chunks) {
|
|
1401
|
+
var visitor = new SimpleSegmentVisitor();
|
|
1402
|
+
|
|
1403
|
+
for (var i = 0, ii = chunks.length; i < ii; i++) {
|
|
1404
|
+
var chunk = chunks[i];
|
|
1405
|
+
var segments = readSegments({}, chunk.data, chunk.start, chunk.end);
|
|
1406
|
+
processSegments(segments, visitor);
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
return visitor.buffer;
|
|
1410
|
+
}
|
|
1411
|
+
|
|
1412
|
+
function parseJbig2(data) {
|
|
1413
|
+
const end = data.length;
|
|
1414
|
+
let position = 0;
|
|
1415
|
+
|
|
1416
|
+
if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 6] !== 0x1a || data[position + 7] !== 0x0a) {
|
|
1417
|
+
throw new Jbig2Error("parseJbig2 - invalid header.");
|
|
1418
|
+
}
|
|
1419
|
+
|
|
1420
|
+
const header = Object.create(null);
|
|
1421
|
+
position += 8;
|
|
1422
|
+
const flags = data[position++];
|
|
1423
|
+
header.randomAccess = !(flags & 1);
|
|
1424
|
+
|
|
1425
|
+
if (!(flags & 2)) {
|
|
1426
|
+
header.numberOfPages = (0, _core_utils.readUint32)(data, position);
|
|
1427
|
+
position += 4;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
const segments = readSegments(header, data, position, end);
|
|
1431
|
+
const visitor = new SimpleSegmentVisitor();
|
|
1432
|
+
processSegments(segments, visitor);
|
|
1433
|
+
const {
|
|
1434
|
+
width,
|
|
1435
|
+
height
|
|
1436
|
+
} = visitor.currentPageInfo;
|
|
1437
|
+
const bitPacked = visitor.buffer;
|
|
1438
|
+
const imgData = new Uint8ClampedArray(width * height);
|
|
1439
|
+
let q = 0,
|
|
1440
|
+
k = 0;
|
|
1441
|
+
|
|
1442
|
+
for (let i = 0; i < height; i++) {
|
|
1443
|
+
let mask = 0,
|
|
1444
|
+
buffer;
|
|
1445
|
+
|
|
1446
|
+
for (let j = 0; j < width; j++) {
|
|
1447
|
+
if (!mask) {
|
|
1448
|
+
mask = 128;
|
|
1449
|
+
buffer = bitPacked[k++];
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
imgData[q++] = buffer & mask ? 0 : 255;
|
|
1453
|
+
mask >>= 1;
|
|
1454
|
+
}
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
return {
|
|
1458
|
+
imgData,
|
|
1459
|
+
width,
|
|
1460
|
+
height
|
|
1461
|
+
};
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
function SimpleSegmentVisitor() {}
|
|
1465
|
+
|
|
1466
|
+
SimpleSegmentVisitor.prototype = {
|
|
1467
|
+
onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {
|
|
1468
|
+
this.currentPageInfo = info;
|
|
1469
|
+
var rowSize = info.width + 7 >> 3;
|
|
1470
|
+
var buffer = new Uint8ClampedArray(rowSize * info.height);
|
|
1471
|
+
|
|
1472
|
+
if (info.defaultPixelValue) {
|
|
1473
|
+
for (var i = 0, ii = buffer.length; i < ii; i++) {
|
|
1474
|
+
buffer[i] = 0xff;
|
|
1475
|
+
}
|
|
1476
|
+
}
|
|
1477
|
+
|
|
1478
|
+
this.buffer = buffer;
|
|
1479
|
+
},
|
|
1480
|
+
drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {
|
|
1481
|
+
var pageInfo = this.currentPageInfo;
|
|
1482
|
+
var width = regionInfo.width,
|
|
1483
|
+
height = regionInfo.height;
|
|
1484
|
+
var rowSize = pageInfo.width + 7 >> 3;
|
|
1485
|
+
var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;
|
|
1486
|
+
var buffer = this.buffer;
|
|
1487
|
+
var mask0 = 128 >> (regionInfo.x & 7);
|
|
1488
|
+
var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);
|
|
1489
|
+
var i, j, mask, offset;
|
|
1490
|
+
|
|
1491
|
+
switch (combinationOperator) {
|
|
1492
|
+
case 0:
|
|
1493
|
+
for (i = 0; i < height; i++) {
|
|
1494
|
+
mask = mask0;
|
|
1495
|
+
offset = offset0;
|
|
1496
|
+
|
|
1497
|
+
for (j = 0; j < width; j++) {
|
|
1498
|
+
if (bitmap[i][j]) {
|
|
1499
|
+
buffer[offset] |= mask;
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
mask >>= 1;
|
|
1503
|
+
|
|
1504
|
+
if (!mask) {
|
|
1505
|
+
mask = 128;
|
|
1506
|
+
offset++;
|
|
1507
|
+
}
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1510
|
+
offset0 += rowSize;
|
|
1511
|
+
}
|
|
1512
|
+
|
|
1513
|
+
break;
|
|
1514
|
+
|
|
1515
|
+
case 2:
|
|
1516
|
+
for (i = 0; i < height; i++) {
|
|
1517
|
+
mask = mask0;
|
|
1518
|
+
offset = offset0;
|
|
1519
|
+
|
|
1520
|
+
for (j = 0; j < width; j++) {
|
|
1521
|
+
if (bitmap[i][j]) {
|
|
1522
|
+
buffer[offset] ^= mask;
|
|
1523
|
+
}
|
|
1524
|
+
|
|
1525
|
+
mask >>= 1;
|
|
1526
|
+
|
|
1527
|
+
if (!mask) {
|
|
1528
|
+
mask = 128;
|
|
1529
|
+
offset++;
|
|
1530
|
+
}
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1533
|
+
offset0 += rowSize;
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
break;
|
|
1537
|
+
|
|
1538
|
+
default:
|
|
1539
|
+
throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
|
|
1540
|
+
}
|
|
1541
|
+
},
|
|
1542
|
+
onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {
|
|
1543
|
+
var regionInfo = region.info;
|
|
1544
|
+
var decodingContext = new DecodingContext(data, start, end);
|
|
1545
|
+
var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);
|
|
1546
|
+
this.drawBitmap(regionInfo, bitmap);
|
|
1547
|
+
},
|
|
1548
|
+
onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {
|
|
1549
|
+
this.onImmediateGenericRegion.apply(this, arguments);
|
|
1550
|
+
},
|
|
1551
|
+
onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {
|
|
1552
|
+
let huffmanTables, huffmanInput;
|
|
1553
|
+
|
|
1554
|
+
if (dictionary.huffman) {
|
|
1555
|
+
huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);
|
|
1556
|
+
huffmanInput = new Reader(data, start, end);
|
|
1557
|
+
}
|
|
1558
|
+
|
|
1559
|
+
var symbols = this.symbols;
|
|
1560
|
+
|
|
1561
|
+
if (!symbols) {
|
|
1562
|
+
this.symbols = symbols = {};
|
|
1563
|
+
}
|
|
1564
|
+
|
|
1565
|
+
var inputSymbols = [];
|
|
1566
|
+
|
|
1567
|
+
for (var i = 0, ii = referredSegments.length; i < ii; i++) {
|
|
1568
|
+
const referredSymbols = symbols[referredSegments[i]];
|
|
1569
|
+
|
|
1570
|
+
if (referredSymbols) {
|
|
1571
|
+
inputSymbols = inputSymbols.concat(referredSymbols);
|
|
1572
|
+
}
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
var decodingContext = new DecodingContext(data, start, end);
|
|
1576
|
+
symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);
|
|
1577
|
+
},
|
|
1578
|
+
onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {
|
|
1579
|
+
var regionInfo = region.info;
|
|
1580
|
+
let huffmanTables, huffmanInput;
|
|
1581
|
+
var symbols = this.symbols;
|
|
1582
|
+
var inputSymbols = [];
|
|
1583
|
+
|
|
1584
|
+
for (var i = 0, ii = referredSegments.length; i < ii; i++) {
|
|
1585
|
+
const referredSymbols = symbols[referredSegments[i]];
|
|
1586
|
+
|
|
1587
|
+
if (referredSymbols) {
|
|
1588
|
+
inputSymbols = inputSymbols.concat(referredSymbols);
|
|
1589
|
+
}
|
|
1590
|
+
}
|
|
1591
|
+
|
|
1592
|
+
var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);
|
|
1593
|
+
|
|
1594
|
+
if (region.huffman) {
|
|
1595
|
+
huffmanInput = new Reader(data, start, end);
|
|
1596
|
+
huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1599
|
+
var decodingContext = new DecodingContext(data, start, end);
|
|
1600
|
+
var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);
|
|
1601
|
+
this.drawBitmap(regionInfo, bitmap);
|
|
1602
|
+
},
|
|
1603
|
+
onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {
|
|
1604
|
+
this.onImmediateTextRegion.apply(this, arguments);
|
|
1605
|
+
},
|
|
1606
|
+
|
|
1607
|
+
onPatternDictionary(dictionary, currentSegment, data, start, end) {
|
|
1608
|
+
let patterns = this.patterns;
|
|
1609
|
+
|
|
1610
|
+
if (!patterns) {
|
|
1611
|
+
this.patterns = patterns = {};
|
|
1612
|
+
}
|
|
1613
|
+
|
|
1614
|
+
const decodingContext = new DecodingContext(data, start, end);
|
|
1615
|
+
patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);
|
|
1616
|
+
},
|
|
1617
|
+
|
|
1618
|
+
onImmediateHalftoneRegion(region, referredSegments, data, start, end) {
|
|
1619
|
+
const patterns = this.patterns[referredSegments[0]];
|
|
1620
|
+
const regionInfo = region.info;
|
|
1621
|
+
const decodingContext = new DecodingContext(data, start, end);
|
|
1622
|
+
const bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);
|
|
1623
|
+
this.drawBitmap(regionInfo, bitmap);
|
|
1624
|
+
},
|
|
1625
|
+
|
|
1626
|
+
onImmediateLosslessHalftoneRegion() {
|
|
1627
|
+
this.onImmediateHalftoneRegion.apply(this, arguments);
|
|
1628
|
+
},
|
|
1629
|
+
|
|
1630
|
+
onTables(currentSegment, data, start, end) {
|
|
1631
|
+
let customTables = this.customTables;
|
|
1632
|
+
|
|
1633
|
+
if (!customTables) {
|
|
1634
|
+
this.customTables = customTables = {};
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
customTables[currentSegment] = decodeTablesSegment(data, start, end);
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1640
|
+
};
|
|
1641
|
+
|
|
1642
|
+
function HuffmanLine(lineData) {
|
|
1643
|
+
if (lineData.length === 2) {
|
|
1644
|
+
this.isOOB = true;
|
|
1645
|
+
this.rangeLow = 0;
|
|
1646
|
+
this.prefixLength = lineData[0];
|
|
1647
|
+
this.rangeLength = 0;
|
|
1648
|
+
this.prefixCode = lineData[1];
|
|
1649
|
+
this.isLowerRange = false;
|
|
1650
|
+
} else {
|
|
1651
|
+
this.isOOB = false;
|
|
1652
|
+
this.rangeLow = lineData[0];
|
|
1653
|
+
this.prefixLength = lineData[1];
|
|
1654
|
+
this.rangeLength = lineData[2];
|
|
1655
|
+
this.prefixCode = lineData[3];
|
|
1656
|
+
this.isLowerRange = lineData[4] === "lower";
|
|
1657
|
+
}
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1660
|
+
function HuffmanTreeNode(line) {
|
|
1661
|
+
this.children = [];
|
|
1662
|
+
|
|
1663
|
+
if (line) {
|
|
1664
|
+
this.isLeaf = true;
|
|
1665
|
+
this.rangeLength = line.rangeLength;
|
|
1666
|
+
this.rangeLow = line.rangeLow;
|
|
1667
|
+
this.isLowerRange = line.isLowerRange;
|
|
1668
|
+
this.isOOB = line.isOOB;
|
|
1669
|
+
} else {
|
|
1670
|
+
this.isLeaf = false;
|
|
1671
|
+
}
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
HuffmanTreeNode.prototype = {
|
|
1675
|
+
buildTree(line, shift) {
|
|
1676
|
+
const bit = line.prefixCode >> shift & 1;
|
|
1677
|
+
|
|
1678
|
+
if (shift <= 0) {
|
|
1679
|
+
this.children[bit] = new HuffmanTreeNode(line);
|
|
1680
|
+
} else {
|
|
1681
|
+
let node = this.children[bit];
|
|
1682
|
+
|
|
1683
|
+
if (!node) {
|
|
1684
|
+
this.children[bit] = node = new HuffmanTreeNode(null);
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
node.buildTree(line, shift - 1);
|
|
1688
|
+
}
|
|
1689
|
+
},
|
|
1690
|
+
|
|
1691
|
+
decodeNode(reader) {
|
|
1692
|
+
if (this.isLeaf) {
|
|
1693
|
+
if (this.isOOB) {
|
|
1694
|
+
return null;
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
const htOffset = reader.readBits(this.rangeLength);
|
|
1698
|
+
return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1701
|
+
const node = this.children[reader.readBit()];
|
|
1702
|
+
|
|
1703
|
+
if (!node) {
|
|
1704
|
+
throw new Jbig2Error("invalid Huffman data");
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
return node.decodeNode(reader);
|
|
1708
|
+
}
|
|
1709
|
+
|
|
1710
|
+
};
|
|
1711
|
+
|
|
1712
|
+
function HuffmanTable(lines, prefixCodesDone) {
|
|
1713
|
+
if (!prefixCodesDone) {
|
|
1714
|
+
this.assignPrefixCodes(lines);
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
this.rootNode = new HuffmanTreeNode(null);
|
|
1718
|
+
|
|
1719
|
+
for (let i = 0, ii = lines.length; i < ii; i++) {
|
|
1720
|
+
const line = lines[i];
|
|
1721
|
+
|
|
1722
|
+
if (line.prefixLength > 0) {
|
|
1723
|
+
this.rootNode.buildTree(line, line.prefixLength - 1);
|
|
1724
|
+
}
|
|
1725
|
+
}
|
|
1726
|
+
}
|
|
1727
|
+
|
|
1728
|
+
HuffmanTable.prototype = {
|
|
1729
|
+
decode(reader) {
|
|
1730
|
+
return this.rootNode.decodeNode(reader);
|
|
1731
|
+
},
|
|
1732
|
+
|
|
1733
|
+
assignPrefixCodes(lines) {
|
|
1734
|
+
const linesLength = lines.length;
|
|
1735
|
+
let prefixLengthMax = 0;
|
|
1736
|
+
|
|
1737
|
+
for (let i = 0; i < linesLength; i++) {
|
|
1738
|
+
prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1741
|
+
const histogram = new Uint32Array(prefixLengthMax + 1);
|
|
1742
|
+
|
|
1743
|
+
for (let i = 0; i < linesLength; i++) {
|
|
1744
|
+
histogram[lines[i].prefixLength]++;
|
|
1745
|
+
}
|
|
1746
|
+
|
|
1747
|
+
let currentLength = 1,
|
|
1748
|
+
firstCode = 0,
|
|
1749
|
+
currentCode,
|
|
1750
|
+
currentTemp,
|
|
1751
|
+
line;
|
|
1752
|
+
histogram[0] = 0;
|
|
1753
|
+
|
|
1754
|
+
while (currentLength <= prefixLengthMax) {
|
|
1755
|
+
firstCode = firstCode + histogram[currentLength - 1] << 1;
|
|
1756
|
+
currentCode = firstCode;
|
|
1757
|
+
currentTemp = 0;
|
|
1758
|
+
|
|
1759
|
+
while (currentTemp < linesLength) {
|
|
1760
|
+
line = lines[currentTemp];
|
|
1761
|
+
|
|
1762
|
+
if (line.prefixLength === currentLength) {
|
|
1763
|
+
line.prefixCode = currentCode;
|
|
1764
|
+
currentCode++;
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
currentTemp++;
|
|
1768
|
+
}
|
|
1769
|
+
|
|
1770
|
+
currentLength++;
|
|
1771
|
+
}
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1774
|
+
};
|
|
1775
|
+
|
|
1776
|
+
function decodeTablesSegment(data, start, end) {
|
|
1777
|
+
const flags = data[start];
|
|
1778
|
+
const lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;
|
|
1779
|
+
const highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;
|
|
1780
|
+
const reader = new Reader(data, start + 9, end);
|
|
1781
|
+
const prefixSizeBits = (flags >> 1 & 7) + 1;
|
|
1782
|
+
const rangeSizeBits = (flags >> 4 & 7) + 1;
|
|
1783
|
+
const lines = [];
|
|
1784
|
+
let prefixLength,
|
|
1785
|
+
rangeLength,
|
|
1786
|
+
currentRangeLow = lowestValue;
|
|
1787
|
+
|
|
1788
|
+
do {
|
|
1789
|
+
prefixLength = reader.readBits(prefixSizeBits);
|
|
1790
|
+
rangeLength = reader.readBits(rangeSizeBits);
|
|
1791
|
+
lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));
|
|
1792
|
+
currentRangeLow += 1 << rangeLength;
|
|
1793
|
+
} while (currentRangeLow < highestValue);
|
|
1794
|
+
|
|
1795
|
+
prefixLength = reader.readBits(prefixSizeBits);
|
|
1796
|
+
lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, "lower"]));
|
|
1797
|
+
prefixLength = reader.readBits(prefixSizeBits);
|
|
1798
|
+
lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));
|
|
1799
|
+
|
|
1800
|
+
if (flags & 1) {
|
|
1801
|
+
prefixLength = reader.readBits(prefixSizeBits);
|
|
1802
|
+
lines.push(new HuffmanLine([prefixLength, 0]));
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
return new HuffmanTable(lines, false);
|
|
1806
|
+
}
|
|
1807
|
+
|
|
1808
|
+
const standardTablesCache = {};
|
|
1809
|
+
|
|
1810
|
+
function getStandardTable(number) {
|
|
1811
|
+
let table = standardTablesCache[number];
|
|
1812
|
+
|
|
1813
|
+
if (table) {
|
|
1814
|
+
return table;
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1817
|
+
let lines;
|
|
1818
|
+
|
|
1819
|
+
switch (number) {
|
|
1820
|
+
case 1:
|
|
1821
|
+
lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];
|
|
1822
|
+
break;
|
|
1823
|
+
|
|
1824
|
+
case 2:
|
|
1825
|
+
lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];
|
|
1826
|
+
break;
|
|
1827
|
+
|
|
1828
|
+
case 3:
|
|
1829
|
+
lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, "lower"], [75, 7, 32, 0x7e], [6, 0x3e]];
|
|
1830
|
+
break;
|
|
1831
|
+
|
|
1832
|
+
case 4:
|
|
1833
|
+
lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];
|
|
1834
|
+
break;
|
|
1835
|
+
|
|
1836
|
+
case 5:
|
|
1837
|
+
lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, "lower"], [76, 6, 32, 0x3e]];
|
|
1838
|
+
break;
|
|
1839
|
+
|
|
1840
|
+
case 6:
|
|
1841
|
+
lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, "lower"], [2048, 6, 32, 0x3f]];
|
|
1842
|
+
break;
|
|
1843
|
+
|
|
1844
|
+
case 7:
|
|
1845
|
+
lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, "lower"], [2048, 5, 32, 0x1f]];
|
|
1846
|
+
break;
|
|
1847
|
+
|
|
1848
|
+
case 8:
|
|
1849
|
+
lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, "lower"], [1670, 9, 32, 0x1ff], [2, 0x1]];
|
|
1850
|
+
break;
|
|
1851
|
+
|
|
1852
|
+
case 9:
|
|
1853
|
+
lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, "lower"], [3339, 9, 32, 0x1ff], [2, 0x0]];
|
|
1854
|
+
break;
|
|
1855
|
+
|
|
1856
|
+
case 10:
|
|
1857
|
+
lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, "lower"], [4166, 8, 32, 0xff], [2, 0x2]];
|
|
1858
|
+
break;
|
|
1859
|
+
|
|
1860
|
+
case 11:
|
|
1861
|
+
lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];
|
|
1862
|
+
break;
|
|
1863
|
+
|
|
1864
|
+
case 12:
|
|
1865
|
+
lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];
|
|
1866
|
+
break;
|
|
1867
|
+
|
|
1868
|
+
case 13:
|
|
1869
|
+
lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];
|
|
1870
|
+
break;
|
|
1871
|
+
|
|
1872
|
+
case 14:
|
|
1873
|
+
lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];
|
|
1874
|
+
break;
|
|
1875
|
+
|
|
1876
|
+
case 15:
|
|
1877
|
+
lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, "lower"], [25, 7, 32, 0x7f]];
|
|
1878
|
+
break;
|
|
1879
|
+
|
|
1880
|
+
default:
|
|
1881
|
+
throw new Jbig2Error(`standard table B.${number} does not exist`);
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
for (let i = 0, ii = lines.length; i < ii; i++) {
|
|
1885
|
+
lines[i] = new HuffmanLine(lines[i]);
|
|
1886
|
+
}
|
|
1887
|
+
|
|
1888
|
+
table = new HuffmanTable(lines, true);
|
|
1889
|
+
standardTablesCache[number] = table;
|
|
1890
|
+
return table;
|
|
1891
|
+
}
|
|
1892
|
+
|
|
1893
|
+
function Reader(data, start, end) {
|
|
1894
|
+
this.data = data;
|
|
1895
|
+
this.start = start;
|
|
1896
|
+
this.end = end;
|
|
1897
|
+
this.position = start;
|
|
1898
|
+
this.shift = -1;
|
|
1899
|
+
this.currentByte = 0;
|
|
1900
|
+
}
|
|
1901
|
+
|
|
1902
|
+
Reader.prototype = {
|
|
1903
|
+
readBit() {
|
|
1904
|
+
if (this.shift < 0) {
|
|
1905
|
+
if (this.position >= this.end) {
|
|
1906
|
+
throw new Jbig2Error("end of data while reading bit");
|
|
1907
|
+
}
|
|
1908
|
+
|
|
1909
|
+
this.currentByte = this.data[this.position++];
|
|
1910
|
+
this.shift = 7;
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
const bit = this.currentByte >> this.shift & 1;
|
|
1914
|
+
this.shift--;
|
|
1915
|
+
return bit;
|
|
1916
|
+
},
|
|
1917
|
+
|
|
1918
|
+
readBits(numBits) {
|
|
1919
|
+
let result = 0,
|
|
1920
|
+
i;
|
|
1921
|
+
|
|
1922
|
+
for (i = numBits - 1; i >= 0; i--) {
|
|
1923
|
+
result |= this.readBit() << i;
|
|
1924
|
+
}
|
|
1925
|
+
|
|
1926
|
+
return result;
|
|
1927
|
+
},
|
|
1928
|
+
|
|
1929
|
+
byteAlign() {
|
|
1930
|
+
this.shift = -1;
|
|
1931
|
+
},
|
|
1932
|
+
|
|
1933
|
+
next() {
|
|
1934
|
+
if (this.position >= this.end) {
|
|
1935
|
+
return -1;
|
|
1936
|
+
}
|
|
1937
|
+
|
|
1938
|
+
return this.data[this.position++];
|
|
1939
|
+
}
|
|
1940
|
+
|
|
1941
|
+
};
|
|
1942
|
+
|
|
1943
|
+
function getCustomHuffmanTable(index, referredTo, customTables) {
|
|
1944
|
+
let currentIndex = 0;
|
|
1945
|
+
|
|
1946
|
+
for (let i = 0, ii = referredTo.length; i < ii; i++) {
|
|
1947
|
+
const table = customTables[referredTo[i]];
|
|
1948
|
+
|
|
1949
|
+
if (table) {
|
|
1950
|
+
if (index === currentIndex) {
|
|
1951
|
+
return table;
|
|
1952
|
+
}
|
|
1953
|
+
|
|
1954
|
+
currentIndex++;
|
|
1955
|
+
}
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
throw new Jbig2Error("can't find custom Huffman table");
|
|
1959
|
+
}
|
|
1960
|
+
|
|
1961
|
+
function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {
|
|
1962
|
+
const codes = [];
|
|
1963
|
+
|
|
1964
|
+
for (let i = 0; i <= 34; i++) {
|
|
1965
|
+
const codeLength = reader.readBits(4);
|
|
1966
|
+
codes.push(new HuffmanLine([i, codeLength, 0, 0]));
|
|
1967
|
+
}
|
|
1968
|
+
|
|
1969
|
+
const runCodesTable = new HuffmanTable(codes, false);
|
|
1970
|
+
codes.length = 0;
|
|
1971
|
+
|
|
1972
|
+
for (let i = 0; i < numberOfSymbols;) {
|
|
1973
|
+
const codeLength = runCodesTable.decode(reader);
|
|
1974
|
+
|
|
1975
|
+
if (codeLength >= 32) {
|
|
1976
|
+
let repeatedLength, numberOfRepeats, j;
|
|
1977
|
+
|
|
1978
|
+
switch (codeLength) {
|
|
1979
|
+
case 32:
|
|
1980
|
+
if (i === 0) {
|
|
1981
|
+
throw new Jbig2Error("no previous value in symbol ID table");
|
|
1982
|
+
}
|
|
1983
|
+
|
|
1984
|
+
numberOfRepeats = reader.readBits(2) + 3;
|
|
1985
|
+
repeatedLength = codes[i - 1].prefixLength;
|
|
1986
|
+
break;
|
|
1987
|
+
|
|
1988
|
+
case 33:
|
|
1989
|
+
numberOfRepeats = reader.readBits(3) + 3;
|
|
1990
|
+
repeatedLength = 0;
|
|
1991
|
+
break;
|
|
1992
|
+
|
|
1993
|
+
case 34:
|
|
1994
|
+
numberOfRepeats = reader.readBits(7) + 11;
|
|
1995
|
+
repeatedLength = 0;
|
|
1996
|
+
break;
|
|
1997
|
+
|
|
1998
|
+
default:
|
|
1999
|
+
throw new Jbig2Error("invalid code length in symbol ID table");
|
|
2000
|
+
}
|
|
2001
|
+
|
|
2002
|
+
for (j = 0; j < numberOfRepeats; j++) {
|
|
2003
|
+
codes.push(new HuffmanLine([i, repeatedLength, 0, 0]));
|
|
2004
|
+
i++;
|
|
2005
|
+
}
|
|
2006
|
+
} else {
|
|
2007
|
+
codes.push(new HuffmanLine([i, codeLength, 0, 0]));
|
|
2008
|
+
i++;
|
|
2009
|
+
}
|
|
2010
|
+
}
|
|
2011
|
+
|
|
2012
|
+
reader.byteAlign();
|
|
2013
|
+
const symbolIDTable = new HuffmanTable(codes, false);
|
|
2014
|
+
let customIndex = 0,
|
|
2015
|
+
tableFirstS,
|
|
2016
|
+
tableDeltaS,
|
|
2017
|
+
tableDeltaT;
|
|
2018
|
+
|
|
2019
|
+
switch (textRegion.huffmanFS) {
|
|
2020
|
+
case 0:
|
|
2021
|
+
case 1:
|
|
2022
|
+
tableFirstS = getStandardTable(textRegion.huffmanFS + 6);
|
|
2023
|
+
break;
|
|
2024
|
+
|
|
2025
|
+
case 3:
|
|
2026
|
+
tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);
|
|
2027
|
+
customIndex++;
|
|
2028
|
+
break;
|
|
2029
|
+
|
|
2030
|
+
default:
|
|
2031
|
+
throw new Jbig2Error("invalid Huffman FS selector");
|
|
2032
|
+
}
|
|
2033
|
+
|
|
2034
|
+
switch (textRegion.huffmanDS) {
|
|
2035
|
+
case 0:
|
|
2036
|
+
case 1:
|
|
2037
|
+
case 2:
|
|
2038
|
+
tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);
|
|
2039
|
+
break;
|
|
2040
|
+
|
|
2041
|
+
case 3:
|
|
2042
|
+
tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);
|
|
2043
|
+
customIndex++;
|
|
2044
|
+
break;
|
|
2045
|
+
|
|
2046
|
+
default:
|
|
2047
|
+
throw new Jbig2Error("invalid Huffman DS selector");
|
|
2048
|
+
}
|
|
2049
|
+
|
|
2050
|
+
switch (textRegion.huffmanDT) {
|
|
2051
|
+
case 0:
|
|
2052
|
+
case 1:
|
|
2053
|
+
case 2:
|
|
2054
|
+
tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);
|
|
2055
|
+
break;
|
|
2056
|
+
|
|
2057
|
+
case 3:
|
|
2058
|
+
tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);
|
|
2059
|
+
customIndex++;
|
|
2060
|
+
break;
|
|
2061
|
+
|
|
2062
|
+
default:
|
|
2063
|
+
throw new Jbig2Error("invalid Huffman DT selector");
|
|
2064
|
+
}
|
|
2065
|
+
|
|
2066
|
+
if (textRegion.refinement) {
|
|
2067
|
+
throw new Jbig2Error("refinement with Huffman is not supported");
|
|
2068
|
+
}
|
|
2069
|
+
|
|
2070
|
+
return {
|
|
2071
|
+
symbolIDTable,
|
|
2072
|
+
tableFirstS,
|
|
2073
|
+
tableDeltaS,
|
|
2074
|
+
tableDeltaT
|
|
2075
|
+
};
|
|
2076
|
+
}
|
|
2077
|
+
|
|
2078
|
+
function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {
|
|
2079
|
+
let customIndex = 0,
|
|
2080
|
+
tableDeltaHeight,
|
|
2081
|
+
tableDeltaWidth;
|
|
2082
|
+
|
|
2083
|
+
switch (dictionary.huffmanDHSelector) {
|
|
2084
|
+
case 0:
|
|
2085
|
+
case 1:
|
|
2086
|
+
tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);
|
|
2087
|
+
break;
|
|
2088
|
+
|
|
2089
|
+
case 3:
|
|
2090
|
+
tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);
|
|
2091
|
+
customIndex++;
|
|
2092
|
+
break;
|
|
2093
|
+
|
|
2094
|
+
default:
|
|
2095
|
+
throw new Jbig2Error("invalid Huffman DH selector");
|
|
2096
|
+
}
|
|
2097
|
+
|
|
2098
|
+
switch (dictionary.huffmanDWSelector) {
|
|
2099
|
+
case 0:
|
|
2100
|
+
case 1:
|
|
2101
|
+
tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);
|
|
2102
|
+
break;
|
|
2103
|
+
|
|
2104
|
+
case 3:
|
|
2105
|
+
tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);
|
|
2106
|
+
customIndex++;
|
|
2107
|
+
break;
|
|
2108
|
+
|
|
2109
|
+
default:
|
|
2110
|
+
throw new Jbig2Error("invalid Huffman DW selector");
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
let tableBitmapSize, tableAggregateInstances;
|
|
2114
|
+
|
|
2115
|
+
if (dictionary.bitmapSizeSelector) {
|
|
2116
|
+
tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);
|
|
2117
|
+
customIndex++;
|
|
2118
|
+
} else {
|
|
2119
|
+
tableBitmapSize = getStandardTable(1);
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
if (dictionary.aggregationInstancesSelector) {
|
|
2123
|
+
tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);
|
|
2124
|
+
} else {
|
|
2125
|
+
tableAggregateInstances = getStandardTable(1);
|
|
2126
|
+
}
|
|
2127
|
+
|
|
2128
|
+
return {
|
|
2129
|
+
tableDeltaHeight,
|
|
2130
|
+
tableDeltaWidth,
|
|
2131
|
+
tableBitmapSize,
|
|
2132
|
+
tableAggregateInstances
|
|
2133
|
+
};
|
|
2134
|
+
}
|
|
2135
|
+
|
|
2136
|
+
function readUncompressedBitmap(reader, width, height) {
|
|
2137
|
+
const bitmap = [];
|
|
2138
|
+
|
|
2139
|
+
for (let y = 0; y < height; y++) {
|
|
2140
|
+
const row = new Uint8Array(width);
|
|
2141
|
+
bitmap.push(row);
|
|
2142
|
+
|
|
2143
|
+
for (let x = 0; x < width; x++) {
|
|
2144
|
+
row[x] = reader.readBit();
|
|
2145
|
+
}
|
|
2146
|
+
|
|
2147
|
+
reader.byteAlign();
|
|
2148
|
+
}
|
|
2149
|
+
|
|
2150
|
+
return bitmap;
|
|
2151
|
+
}
|
|
2152
|
+
|
|
2153
|
+
function decodeMMRBitmap(input, width, height, endOfBlock) {
|
|
2154
|
+
const params = {
|
|
2155
|
+
K: -1,
|
|
2156
|
+
Columns: width,
|
|
2157
|
+
Rows: height,
|
|
2158
|
+
BlackIs1: true,
|
|
2159
|
+
EndOfBlock: endOfBlock
|
|
2160
|
+
};
|
|
2161
|
+
const decoder = new _ccitt.CCITTFaxDecoder(input, params);
|
|
2162
|
+
const bitmap = [];
|
|
2163
|
+
let currentByte,
|
|
2164
|
+
eof = false;
|
|
2165
|
+
|
|
2166
|
+
for (let y = 0; y < height; y++) {
|
|
2167
|
+
const row = new Uint8Array(width);
|
|
2168
|
+
bitmap.push(row);
|
|
2169
|
+
let shift = -1;
|
|
2170
|
+
|
|
2171
|
+
for (let x = 0; x < width; x++) {
|
|
2172
|
+
if (shift < 0) {
|
|
2173
|
+
currentByte = decoder.readNextChar();
|
|
2174
|
+
|
|
2175
|
+
if (currentByte === -1) {
|
|
2176
|
+
currentByte = 0;
|
|
2177
|
+
eof = true;
|
|
2178
|
+
}
|
|
2179
|
+
|
|
2180
|
+
shift = 7;
|
|
2181
|
+
}
|
|
2182
|
+
|
|
2183
|
+
row[x] = currentByte >> shift & 1;
|
|
2184
|
+
shift--;
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2187
|
+
|
|
2188
|
+
if (endOfBlock && !eof) {
|
|
2189
|
+
const lookForEOFLimit = 5;
|
|
2190
|
+
|
|
2191
|
+
for (let i = 0; i < lookForEOFLimit; i++) {
|
|
2192
|
+
if (decoder.readNextChar() === -1) {
|
|
2193
|
+
break;
|
|
2194
|
+
}
|
|
2195
|
+
}
|
|
2196
|
+
}
|
|
2197
|
+
|
|
2198
|
+
return bitmap;
|
|
2199
|
+
}
|
|
2200
|
+
|
|
2201
|
+
function Jbig2Image() {}
|
|
2202
|
+
|
|
2203
|
+
Jbig2Image.prototype = {
|
|
2204
|
+
parseChunks(chunks) {
|
|
2205
|
+
return parseJbig2Chunks(chunks);
|
|
2206
|
+
},
|
|
2207
|
+
|
|
2208
|
+
parse(data) {
|
|
2209
|
+
const {
|
|
2210
|
+
imgData,
|
|
2211
|
+
width,
|
|
2212
|
+
height
|
|
2213
|
+
} = parseJbig2(data);
|
|
2214
|
+
this.width = width;
|
|
2215
|
+
this.height = height;
|
|
2216
|
+
return imgData;
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2219
|
+
};
|
|
2220
|
+
return Jbig2Image;
|
|
2221
|
+
}();
|
|
2222
|
+
|
|
2223
|
+
exports.Jbig2Image = Jbig2Image;
|